JSP 학습 초반에 리다이렉트, 포워딩 관련 개념을 잘 잡아놔야 할 듯하여 정리를 하게 되었다.
개념
- 리다이렉트와 포워딩은 JSP 환경에서 주로 접하는 단어이다.
- 현재 페이지에서 다른 페이지로 이동하는 페이지 전환 기능들이다.
- 차이점은 페이지 이동이 어떻게 이루어지는가에 있다.
포워딩(Forwarding)
- 웹 컨테이너(Web Container) 차원에서의 페이지 이동을 의미한다.
- 웹 브라우저의 URL 정보는 변경되지 않으므로 클라이언트는 다른 페이지로 이동했는지 알 수 없다.
- 클라이언트와 통신 없이 서버에서만 처리되는 것이어서 리다이렉트보다 좋은 성능을 보여준다.
- 현재 페이지와 포워딩에 의해 호출된 페이지는 Request와 Response 객체를 공유한다.
리다이렉트(Redirect)
- 웹 컨테이너(Web Container)는 sendRedirect() 메서드가 호출되어 리다이렉트(Redirect) 명령이 들어오면 웹 브라우저에게 다른 페이지로 이동하라고 명령을 내린다.
- 해당 명령에 브라우저가 웹 컨테이너의 응답을 받은 후 다시 요청을 보내는 경우 새로운 URL을 포함한다.
- 다른 웹 컨테이너에 있는 주소로 이동이 가능하다.
- 새로운 페이지에서는 Request와 Response 객체가 새롭게 생성된다.
- 추가적으로 발생하는 처리에 의해 포워딩보다는 성능이 느리다.
차이점
- URL 변화 여부 (변화 됨 -> redirect, 변화 안됨 -> forward)
- 객체 재사용 여부 (재사용 가능 -> forward, 재사용 불가 -> redirect)
반응형
'Front > JSP' 카테고리의 다른 글
[JSTL] 컨트롤러에서 받아온 list를 <c:forEach> 안 쓰고 값 표현 방법 (0) | 2022.01.14 |
---|---|
[JSP] DBCP란 (0) | 2022.01.03 |
[개념] DAO, DTO, VO 란? (0) | 2021.12.30 |
[JSP] 자바빈(JavaBean)이란? (0) | 2021.12.29 |
[JSP] GET 방식, POST 방식 (0) | 2021.12.24 |