개발공부/Servlet
페이지 이동 방식 (redirect / forward)
pringspring
2022. 5. 15. 01:13
@MVC
- Model View Controller
- c는 m과 v를 연결하고, 페이지 이동을 해줌
- v는 페이지를 보여줌
- c (servlet) → v (jsp)로 이동하는 방식 2가지 : redirect / forward
*redirect
- 요청객체와 응답객체가 유지되지않음
- 클라이언트가 재요청시 기존동작 반복X
- 속도가 느림
- 새로운 요청객체와 응답객체를 만들기 때문에 유지가 안됨
- response.sendRedirect("~");를 호출하면 url이 변경되면서 바로 페이지 이동이 발생함
- ex) 로그인,회원가입,글쓰기
*forward
- url이 변경되지 않음
- 요청객체와 응답객체가 유지됨
- 클라이언트가 재요청할 경우에 기존 동작이 반복
- 속도가 빠름
- getRequestDispatcher("~"); 를 하면 바로 안가고 forward()메소드를 호출할때 이동
- request.setAttribute(key,value);를 통해 받는쪽에서 키와 값을 받을 수 있다.
- WAS상에서 이동하기 때문에 client는 이동여부를 모름 → 웹 브라우저에서 이동한 페이지의 url확인 불가
- ex) 리스트보기,검색