프로젝트 설명
이번에 해볼 프로젝트는 Model 1 방식으로 회원가입 기능을 구현할 것입니다.
간단하게 DB에 연결에 삽입 / 출력을 통해 회원가입이되고 가입된 회원들의 정보를 볼 수 있도록 하는 기능입니다.
기본적으로 웹을 하며서 갖추어야할 기본 기능을 배우는 시간이 될테니 잘 따라하시면 됩니다.
회원가입 FORM / LIST FROM
보이는 부분은 대부분 HTML로 이루어져 있기때문에 각자 공부를 하는 것으로 하고 우리는 JSP 공부를 위주로 하도록 하겠습니다.
일단 밑에 두 가지 JSP 파일을 넣어 두겠습니다.
프로젝트를 만들어 두 JSP 파일을 WebContent 바로 밑에 넣어주세요
파일
일단 기능은 간단합니다.
form.jsp에 입력 사항을 입력하면 그 내용이 DB에 입력이 되고 그 결과 값을 list.jsp에 표시하는 것을 만들겁니다.
DB 테이블 생성
DB에 접속하는 방법은 포스팅해 놓은 것도 있고 기존에 사용하시는 방법대로 하시면 되겠습니다.
테이블 명 member_tbl
Form.jsp 파일
이 파일은 <form> 태그를 이용해 데이터를 입력하고 전달하는 곳입니다.
이미 파일을 올려놨으니 한번 보시면 되겠습니다.
전송 방식은 get으로 데이터 넘어가는 것을 쿼리스트링으로 한번 볼 수 있도록 하겠습니다.
ex)
쿼리스트링 형식
http://localhost:5050/Blog_Project/insert.jsp?id=admin1&pw=1234&email=admin1@test.com
<input>태그에 입력한 값을 가지고 오기 위해선 name 속성이 필요합니다.
form.jsp 파일에 name 속성을 이용해 값을 받아 오도록 하겠습니다.
이 때 사용하는 객체가 바로 request내장객체이며 getParameter()메소드를 이용해야합니다.
getParameter( ) 괄호 안에 들어가는 것이 바로 name 속성입니다.
우리는 각 <input>태그에 name 속성을 만들어 id/ pw/ email을 작성해놓았으니 name속성 값에 맞춰 작성하주시면 됩니다.
ex)
String id = request.getParameter("id");
String pw = request.getParameter("pw");
DAO 파일 / VO 파일 만들기
VO파일(Value Object)은 DB의 레코드에 대응되는 자바클래스 입니다. 주로 getter/setter로 이루어져 있고 필요에 따라 생성자나 toString도 들어갑니다. 우리는 모든 것을 생성하겠습니다.
DAO파일()은 DB에 접근을 하기 위한 자바클래스 입니다. DB와 연결을 위한 로직과 DB에 값을 넣고 삭제하고 찾고 수정할 수 있는 로직을 짜야 합니다.
먼저 DB에 연결하기 위한 로직과 값을 넣기 위한 로직을 짜도록 하겠습니다.
1. JDBC 드라이버를 로딩할 준비를 합니다. 우리는 오라클사의 DB를 사용하기 때문에 오라클사의 JDBC를 사용해야하며 이를 사용하기 위해 Class.forname()을 사용합니다.
2. 연결할 DB의 정보를 담고 있는 url을 가져와 연결을 합니다.
3. INSERT를 위해 INSERT 쿼리문 을 완성 시킵니다.
user_no.nextval은 시퀀스로 1부터 시작해서 SQL문이 실행될 때 마다 하나씩 증가합니다.
그래서 우리는 DB에서 시퀀스를 생성했었고 그것을 사용하기 위해 위와 같은 명령어를 사용했습니다.
4. PrepareStatement 메소드를 이용해 DB와 통로를 열어 쿼리문을 던질 준비를 합니다.
우리는 DB테이블을 생성할 때 전부 문자열로 생성을 했기 때문에 값을 넣을 때 그 타입에 맞춰 넣어줘야 합니다.
그래서 각 물음표에 맞춰 해당하는 칼럼에 맞춰서 작성합니다.
5. 마지막으로 executeUpdate()를 통해 쿼리를 실행합니다.
성공적으로 삽입이 되면 성공된 갯수 만큼 int형 숫자를 반환합니다. 만약 잘못되면 0이 반환이 되겠죠?
이어서 다음 페이지에서 진행하도록 하겠습니다.
'Programming > JSP' 카테고리의 다른 글
[JSP] JSP 기초 프로젝트 #2 (회원가입 / Model1) (0) | 2018.04.18 |
---|---|
[JSP] 톰캣 설치 및 이클립스에 서버 세팅하기 (0) | 2018.04.10 |
[JSP] 재미없는 용어 이야기 첫번째(get/post) (0) | 2018.04.07 |
[JSP] JSP 기초 강의 1강 (1) | 2018.04.07 |
1. 지시문(directive) (0) | 2017.01.14 |
댓글