개발공부/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) 리스트보기,검색