본문 바로가기
개발자로 가는 길(국비지원과정)/4.Spring+ Ajax

[210707수] board

by 레아Leah 2021. 7. 7.
반응형

 

테이블 생성

 

게시판 테이블의 userid를 참조키를 주지 않아도 된다.

 

users 테이블을 members로 변경 

 

sql

더보기

-- 2021년 7월 
-- 
DROP TABLE reply;
DROP TABLE board;
DROP TABLE members;

DROP SEQUENCE reply_seq;
DROP SEQUENCE board_seq;

-- 회원 (Users)
CREATE TABLE members
(
userid   varchar2(50) primary key,    -- 사용자 아이디
userpwd  varchar2(50) not null,  -- 사용자 비밀번호
username varchar2(50) not null, -- 이름
email    varchar2(100), -- 이메일
birth    date, -- 생년월일
gender   varchar2(20) default 'woman', -- 성별
phone    varchar2(20) -- 전화번호
);


-- 게시판 (Board)
CREATE TABLE board
(
boardnum number         primary key, -- 게시글 번호
userid   varchar2(50)   not null, -- 작성자 아이디
title    varchar2(200)  not null, -- 글제목
text     varchar2(4000) not null, -- 글내용
hitcount number default 0, -- 조회수
regdate  date default sysdate, -- 등록일
originalfile varchar2(300), -- 첨부 파일명(원래이름)
savedfile    varchar2(300) -- 첨부 파일명(실제 파일에 저장된 이름)
);

CREATE SEQUENCE board_seq;

-- 댓글(Reply)
CREATE TABLE reply
(
replynum  number primary key, -- 댓글 번호
boardnum  number not null references board(boardnum), -- 참조하는 본문글번호
userid    varchar2(50)   not null, -- 댓글 작성자 아이디
replytext varchar2(1000) not null, -- 댓글 내용
regdate   date default sysdate -- 댓글 작성일
);

CREATE SEQUENCE reply_seq;

 

게스트북에서 가져오기 

한글 파라미터를 위한 문자 인코딩 설정 

-> board web.xml에 넣어주기

더보기

<!-- 한글 parameter를 위한 문자 인코딩 설정 --> <filter> <filter-name>encodingFilter</filter-name> <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class> <init-param> <param-name>encoding</param-name> <param-value>utf-8</param-value> </init-param> </filter> <filter-mapping> <filter-name>encodingFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping>

 

maincontroller는 첫화면을 보여주는 것 말고는 없다.

 

get 방식의 요청하나가 온 것 

홈컨트롤러에도 / 루트로 요청했기때문에 겹치면 오류가 발생하기때문에 homecontroller 삭제하기 

 

첫화면 

 

a태그로 링크 

모양만 나게 #하고 이후에 채우기

 

링크가 비어있기 때문에("#") 아직 하이퍼링크를 눌러도 어디로 이동하지 않는다. 

 

회원가입할테니 화면을 달라 get방식

 

 

회원에 관련된 컨트롤러를 새로 생성

 

회원가입을 하기 위한 화면을 달라 요청

member안에 있는 조인 폼으로 가라 

 

 

[2교시]

joinform 

 

<tr>

    <th></th>

    <td></td>

</tr>

 

필요한만큼 7개 복붙

 

 

버튼을 누르면 서버쪽에 가서 동일한 아이디가 있는지 확인 

 

(id="phone") =>  phone1 + phone2를 합쳐 js로 보낼거임 value =" "으로~! 

onclick을 했어도 이벤트가 없기때문에 갈데가 없다. 

실헹,, 화면 구동 잘 되는지 확인 

 

js를 이용해 데이터를 컨펌하는 작업 

 

수정 

 

멤버가 받아져야하니끼 멤버VO 만들기

 

import가 잘되었는지 확인 

 

Logger는 로거 팩토리에서 가져올 것 

리플랙트값 써주기 

 

컨트롤 시프트 알파펫 O

 

내가 출력하고 싶은 메세지 출력 

 

TO STRING한 것을 노란색 안에 부분에 넣어 출력 

위에는 화면 요청, 아래는 처리요청 

 

구동해보기 

전화번호는 자바스크립트로 넘길 것이기때문에 넘어가지 않을 것임 

 

온클릭을 삭제해뒀기때문에 이렇게 화면이 떠야한다 

 

 

첫화면을 요청해라 리다이렉트  

메안 컨트롤러만 /루트 

 

join뒤에 아무것도 없으면 get

 

모든 자바스크립트가 안에 들어가게 폴더 만들어 주기 

 

해당 폴더 안에 파일을 만들어 주세요 

 

 

그전에 joinform으로 가서 자바스크립트 수정

경로 설정 

 

검증을 하기전에 서버로 전송하기 때문에 

submit을 사용할 경우 return을 사용해줌 

멤버체크에서 트루가 와야만 실행 

 

 

[3교시]

데이터는 다 가져옴 

 

벨류를 위에 입력하지않았기때문에 

 

리턴 폴스로 하는 이유는 

 

트루만 서브밋을 진행시킴 

 

이어서 비밀번호부터 쭈욱

여기도 마찬가지로 리턴 폴스로

 

 

알럿창이 잘 뜨는지 실행해보기 개발자모드에서  

 

이메일 뒤쪽에 있는 거 해보기 

 

전화번호는 가져와서 꽂

아주는 작업을 해야히는데 지난 시간에 했기때문에 따로 하지 않음

 

날짜는 날짜 데이터이기때문에 string이 필요없다. 

select와 focus의 차이 

커서가 깜빡깜빡하는 것은 focus

slect는 전체 표시 

 

★데이터베이스에 저장하는 과정!! 중요★

root content 붙이기 

db

mybatis 

mapper

 

조인을 하려면 객체를 받아야 조인을 할 수 있다.

 

이셉션을 위에 코딩했기때문에 오류가 난다. 

회원가입 처리하는 메소드 

 

노란 부분은 빈으로 관리가능 

반응형