서블릿 포워드 기능 사용하기
포워드 기능
-
포워드(forward)
-
하나의 서블릿에서 다른 서블릿이나 JSP와 연동하는 방법
-
서블릿에서 다른 서블릿이나 JSP로 요청을 전달하는 역할
-
요청(request) 전달 때 추가 데이터를 포함시켜서 전달할 수도 있음
-
모델2 개발방식으로 웹 애플리케이션 개발시 서블릿에서 JSP로 데이터를 전달할 떄 주로 사용
-
포워드 기능이 사용되는 용도
-
요청(request)에 대한 추가 작업을 다른 서블릿에게 수행하게 함
-
요청에 포함된 정보를 다른 서블릿이나 JSP와 공유
-
요청에 정보를 포함시켜 다른 서블릿에 전달할 수 있음
-
모델2 개발시 서블릿에서 JSP로 데이터를 전달하는 데 사용
서블릿의 여러가지 포워드 방법
서블릿에서 사용되는 포워드 방법 네 가지
-
redirect 방법
-
refresh 방법
-
HttpServletResponse 객체의 addHeader() 메서드 이용
-
웹 브라우저에 재요청하는 방식
-
형식 : response.addHeader(“Refresh”, 경과시간(초);url=요청할 Servlet or JSP”);
-
location 방법
-
dispatch 방법
-
일반적으로 포워딩 기능을 지칭
-
서블릿이 직접 요청하는 방식
-
RequestDispatcher 클래스의 forward() 메서드 이용
-
형식 : RequestDispatcher dis = request.getRequestDispatcher(“포워드할 Servlet or JSP”);
dis.forward(request, response);
-
특징
-
redirect, resfresh, location : Servlet이 웹 브라우저를 거쳐 다른 Servlet or JSP에 요청하는 방법
-
dispatch : Servlet에서 Client를 거치지 않고 바로 다른 Servlet에 요청하는 방법
-
네 가지 모두 자주 사용함
redirect를 이용한 포워딩
-
서블릿의 요청이 클라이언트의 웹 브라우저를 다시 거쳐 요청되는 방식
-
순서
-
클라이언트의 웹 브라우저에서 첫 번째 서블릿에 요청
-
첫 번째 서블릿은 sendRedirect() 메서드를 이용해 두 번째 서블릿을 웹 브라우저를 통해 요청
-
웹 브라우저는 sendRedirect() 메서드가 지정한 두 번째 서블릿을 다시 요청
-
실습1. pro08프로젝트를 만들고 sec01.ex01 패키지를 추가
-
실습2. FirstServlet.java 생성
- 실습3. SecondServlet.java 생성
refresh를 이용한 포워딩
- 실습3. SecondServlet.java 생성
location을 이용한 포워딩
- 실습3. SecondServlet.java 생성
redirect 방식으로 다른 서블릿에 데이터 전달하기
dispatch를 이용한 포워드 방법
- 모델2 방식이나 스트럿츠(struts), 스프링(spring) 프레임에서 포워딩시 사용
dispatch를 이용한 포워딩 과정
- 실습 3. SecondServlet.java 서블릿 생성