▶ do / Redirect
- 완성된 페이지는 do.
- 나와 전혀 상관없는 완성된 어떤 페이지로 갈 때
- 입력, 수정, 삭제 : 짝꿍이 없음. 이미 처리가 끝나고 확인페이지로만 간다 > 리다이렉트
메세지가 없으면 redirect
ㄴ message.jsp : location.href 는 Redirect 이다.
Redirect 는 ContextPath 가 필요함 => 이걸 아예 message 에 연결해서 보내줌
= > 절대참조를 하되 ContextPath 는 빼고 보낼 수 있음
▶ jsp / Forward
- 미완성은 jsp.
- 미완성이니까 일을 시키려고 보내는 것. 너 이거 해 !
미완성인 내 짝꿍한테 forward 로 보내서 합체를 함
- 조회(select)는 보통 짝꿍이 있으니까 forward 가 일반적이다
ㄴ 찾은걸 새로운 페이지에 뿌려준다
▶ 모델2의 결과처리 로직
1. ~.do 요청을 받으면 DispatcherServlet 으로 이동 (web.xml에서 설정한다)
2. 디스패쳐서블릿에서 매핑파일을 참고하여 해당하는 Controller 호출
3. 해당 Controller에서 1) 파라미터, 2) db작업, 3) 리퀘스트에 결과 저장하여 뷰페이지로 리턴해줌
4. 디스패쳐서블릿에서 리턴받은 뷰페이지로 포워딩
5. 해당 뷰페이지에서 최종결과 출력
※ PD
[1] 상품 등록 화면보기 => pdWrite.jsp 화면보기
▶ /pd/pdWrite.do => DispatcherServlet =>
PdWriteController => pdWrite.jsp로 포워드 (포워드는 미완성인 내 짝꿍 jsp에게 보낼때 쓴다)
▷ web.xml 에 do 요청은 DispatcherServlet 으로 보내라고 설정해놨으니 그리로 보내고
DispatcherServlet 이 pdWriteController로 보낸다. 마지막으로 pdWrite 로 간다
[2] 상품 등록 처리 (기존 pdWrite_ok.jsp)
- 메세지 없이
/pd/pdWrite_ok.do => DispatcherServlet => PdWriteOkController
=> pdList.do로 리다이렉트(리다이렉트는 완성된 별개의 do로 보내준다(contextPath포함))
=> return "/pd/pdList.do";
[3] 상품 목록 페이지 보기 => pdList.jsp 페이지보기
/pd/pdList.do => DispatcherServlet => PdListController
=> pdList.jsp로 포워드
[4] 상세보기 페이지 보기 => pdDetail.jsp 페이지보기
/pd/pdDetail.do => DIspatcherServlet => PdDetailController
=>pdDetail.jsp로 포워드
[5] 수정화면 페이지 보기 => pdEdit.jsp 페이지보기
/pd/pdEdit.do => DIspatcherServlet => PdEditController
=>pdEdit.jsp로 포워드
[6] 수정처리 (기존 pdEdit_ok_jsp)
-메세지 띄우기
/pd/pdEdit_ok.do => DIspatcherServlet => PdEditOkController
=> message.jsp로 포워드
[7] 삭제 처리
-메세지 없이
/pd/pdDelete.do => DIspatcherServlet => PdDeleteController
=> pdList.do로 리다이렉트
※ board
[1] 글쓰기 화면 보기 => write.jsp 화면 보기
/board/write.do => DIspatcherServlet => WriteController
=> write.jsp로 포워드
[2] 글쓰기 처리 (기존 write_ok.jsp)
/board/write_ok.do => DIspatcherServlet => WriteOkController
=> list.do로 리다이렉트
[3] 글 목록 페이지 보기 => list.jsp 페이지 보기
/board/list.do => DispatcherServlet => ListController
=> list.jsp로 포워드
[4] 조회수 증가시키기 (기존 countUpdate.jsp)
메세지 없이
/board/countUpdate.do => DispatcherServlet => CountUpdateController
=>detail.do로 리다이렉트
[5] 글 상세보기 페이지 (기존 detail.jsp)
/board/detail.do => DispatcherServlet => DetailContriller
=>detail.jsp로 포워드
[6] 글 수정 화면 페이지 보기 => edit.jsp 페이지 보기
/board/edit.do => DispatcherServlet => EditController
=>edit.jsp 포워드
[7] 글 수정 처리(기존 edit_ok.jsp)
메세지 띄우기
/board/edit_ok.do => DispatcherServlet => EditOkController
=>message.jsp로 포워드
[8] 글 삭제 화면 보기 => delete.jsp 화면 보기
/board/delete.do => DispatcherServlet => DeleteController
=>delete.jsp로 포워드
[9] 글 삭제 처리(기존 delete_ok.jsp)
메세지 띄우기
/board/delete_ok.do => DispatcherServlet => DeleteOkController
=> message.jsp로 포워드
'Spring' 카테고리의 다른 글
[jsp]JSTL (0) | 2022.05.24 |
---|---|
[jsp] 표현언어 (0) | 2022.05.22 |
회원가입 (0) | 2022.05.19 |
[jsp] 모델2 기반의 MVC 패턴 (0) | 2022.05.18 |
[jsp] 에러 (0) | 2022.05.17 |