JSP/Servlet redirect, forward(서블릿 리다이렉트, 포워드)
1. Redirect
Redirection인 경우 클라이언트에서 서버로 요청을 보내면 클라이언트 요청을 처리 후 리다이렉트 메소드가 호출되면 Client
브라우저에 응답을 보내며 이 응답에는 브라우저가 웹 컨테이너의 응답을 받은 후 location 에 새롭게 Redirection 될곳의 주소를
넣어서 보낸다.
여기에서 하나의 요청이 종결되고, 새로부여받은 URL로 Client 브라우저에서 새롭게 요청하기 때문에 이전 요청 스코프에 저장되어 있던 request 객체는 소멸된다.
클라이언트 브라우저 상단의 URL 창에도 새로운 요청이 만들어져 넘어가므로 리다이렉션되는 곳으로 URL 주소가 바뀐다.
요청객체를 지우고 다시 만드므로 시간이 소요됨.
2. Forward
요청이 포워딩 될때는 해당 요청이 서버의 다른자원(서블릿, JSP)에 전달된다.(Request 객체 재활용), 이때 이 요청을
처리하는것을 클라이언트(브라우저)에게 알리지 않고, 이런방식의 처리는 웹 컨테이너 내부에서만 일어나므로 클라이언트는 알수없게 된다.
서블릿컨테이너에서 이를 해석하여, 즉 컨테이너 안에서 해석을 한다는 의미. 그래서 forward한 곳으로 자원을 이용하여 응답을 만들어 보내게 된다.
클라이언트는 이 사실(포워드된 사실)을 전혀 알지 못하고 그래서 URL 창의 주소가 처음 요청했던 주소 그대로 있게 되는 것이다.
요청 객체를 재성성 하지 않으므로 Redirect보다 빠르다.
포워딩은 클라이언트와 통신없이 서버에서만 처리되기 때문에 리다이렉트보다 빠르다.
[개강임박강좌, 오프라인교육장에 오시면 보다 자세히 배울 수 있습니다.]
오라클자바커뮤니티에서 운영하는 개발자 전문교육 ,개인80%환급(www.onjprogramming.co.kr)
[주간]
[11/18]Spring3.X, MyBatis, Hibernate실무과정
[11/18]iPhone 하이브리드 앱 개발 실무과정
[11/20]SQL초보에서실전전문가까지
[11/20]안드로이드개발자과정
[평일야간]
[11/13]C#,ASP.NET마스터
[11/19]iPhone하이브리드앱개발실무과정
[11/19]안드로이드개발자과정
[11/20]초보자를위한실전SQL
[11/21]JAVA&WEB프레임워자실무과정
[11/21]Spring3.X, MyBatis, Hibernate실무과정
[주말]
[11/16]JAVA&WEB프레임워크실무과정
[11/16]웹퍼블리싱 마스터
[11/16]Spring3.X,MyBatis,Hibernate실무과정
[11/16]SQL초보에서전문가까지
[11/16]PL/SQL,오라클힌트,SQL튜닝,사례연구
[11/23]C#,ASP.NET마스터
오라클자바커뮤니티에서 운영하는 개발자 전문교육 ,개인80%환급(www.onjprogramming.co.kr)
[주간]
[11/18]Spring3.X, MyBatis, Hibernate실무과정
[11/18]iPhone 하이브리드 앱 개발 실무과정
[11/20]SQL초보에서실전전문가까지
[11/20]안드로이드개발자과정
[평일야간]
[11/13]C#,ASP.NET마스터
[11/19]iPhone하이브리드앱개발실무과정
[11/19]안드로이드개발자과정
[11/20]초보자를위한실전SQL
[11/21]JAVA&WEB프레임워자실무과정
[11/21]Spring3.X, MyBatis, Hibernate실무과정
[주말]
[11/16]JAVA&WEB프레임워크실무과정
[11/16]웹퍼블리싱 마스터
[11/16]Spring3.X,MyBatis,Hibernate실무과정
[11/16]SQL초보에서전문가까지
[11/16]PL/SQL,오라클힌트,SQL튜닝,사례연구
[11/23]C#,ASP.NET마스터
댓글 없음:
댓글 쓰기