Forwarding이란 한 서블릿에서 다른 서블릿으로 정보를 전달하는 방식이다.
종류
- Redirect
- Refresh
- Location
- Dispatch
여기서 Dispatch만 알아보려고 한다.
이유는 나머지 방식은 다른 서블릿에 전달하기 위해 client를 거쳐 다음 서블릿으로 전달된다.
(Client 요청 -> Servlet1 -> Clint -> Servlet2)
Dispatch
- Client를 거치지 않고 원하는 데이터를 다른 서블릿으로 전달하는 방식
- 본질적으로는 get 방식으로 전달, 따라서 다음 서블릿에서는 doGet 메서드를 이용해 정보를 전달받는다.
간단하게 처음에 first servlet으로 전달받은 request, response를 그대로 second servlet으로 전달하는 방식이다.
다음과 같이 다음으로 이동할 서블릿 지정 후 forwarding 해준다.
@WebServlet("/first")
public class FirstServlet extends HttpServlet {
public void init(ServletConfig config) throws ServletException {
}
public void destroy() {
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
RequestDispatcher dispatch = request.getRequestDispatcher("second");
dispatch.forward(request, response);
}
}
'Server Development > Serlvet' 카테고리의 다른 글
Servlet - ServletContext (0) | 2023.03.21 |
---|---|
Servlet - Binding (0) | 2023.03.21 |
Servlet - Get, Post (0) | 2023.03.21 |
Servlet - API (0) | 2023.03.20 |
Servlet - Mapping (0) | 2023.03.20 |