티스토리 뷰

이전 포스팅에서 Servlet의 간단한 개념과, DAO & DTO를 각각 어떻게 작성하는 지 알아봤으니, 이제 간단한 예제를 풀어 활용해보자. 

예제는 이전에 구성했던 <도서 검색> 예제 코드를 각 기능별로, 

 

 1. View = JSP

 2. Controller = Servlet

 3. DataBase = DAO & DTO

 

위와 같이 나누어 좀 더 체계적으로 구현된 웹 프로젝트로 재구성하여 작성하였다.


우선, 구현할 기능과 데이터의 흐름은 다음과 같다.


 1. UserInfoInitForm.jsp:

 해당 페이지는 다음과 같은 기능을 수행한다.

  1) 이름을 입력 받아 동일한 이름의 회원 정보 검색 (=> UserInfoViewer.jsp)

  2) 회원가입 버튼을 눌러 회원가입 페이지로 이동 (=> UserInfoJoinForm.jsp)

 


 2. UserInfoJoinForm.jsp

 회원가입 페이지이며, 저장을 클릭하여 InsertServlet.java로 이동하여 회원가입 메서드를 호출한다.


 3. UserInfoViewer.jsp

 검색 값을 받아서, SearchServlet.java로 이동하여 검색 메서드를 호출한다.

 수정을 클릭하여 UserInfoEdit.jsp로 이동할 수 있다.


 4. UserInfoEdit.jsp

 수정 페이지이며, 비밀번호만 수정이 가능하다. 비밀번호를 변경하고, 저장을 클릭하여 시작 페이지로 돌아갈 수 있다.

 

Servlet과 DTO&DAO를 사용하여 각 파일들의 기능을 할당하여 작업을 하니, 데이터를 따라가기가 훨씬 수월하고, 확실히 connection을 수행하는 횟수도 적어져 오버헤드가 줄어드는 것 같다. 


아이디가 PRIMARY KEY 제약조건을 가지고 있기 때문에, 중복 아이디로 가입을 시도할 경우, 아이디가 중복됐다는 것을 알려줘야해서, 특정 SQLException Code값이 필요했다. 

구글님이 말씀하시길, SQLException을 걸고, getSQLState() 로 해당 에러의 Code를 얻을 수 있는데, 이를 활용하여 코드를 작성해주면, 아이디를 중복으로 입력했을 때만 에러메세지를 표출할 수 있다.


프로젝트의 Github: 

github.com/Choonham/Choonham-2020.03.10-Spring-Class-JWEB-/tree/main/jsp_servlet_userinfo

 

Choonham/Choonham-2020.03.10-Spring-Class-JWEB-

Contribute to Choonham/Choonham-2020.03.10-Spring-Class-JWEB- development by creating an account on GitHub.

github.com

 

'WEB > DynamicWeb' 카테고리의 다른 글

[Web] file Upload Form & Method 사용  (0) 2021.05.11
[Web] 종합 활용 예제 <회원 가입>  (0) 2021.04.30
[Web] DAO & DTO  (0) 2021.04.28
[JSP, Servlet] DTO 활용 <도서 검색>  (0) 2021.04.27
[Servlet] JSP -> Servlet  (0) 2021.04.26
Comments