티스토리 뷰
이전 포스팅에서 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
'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 |
- await
- 이탈리안 레스토랑
- react-native
- redux-thunk
- Promise
- AsyncStorage
- 맛집
- 인천 구월동 맛집
- redux
- Async
- 정보보안기사 #실기 #정리
- javascript
- 인천 구월동 이탈리안 맛집
- 파니노구스토
- react
- Total
- Today
- Yesterday