[이클립스/웹개발] dispatch를 이용한 포워딩
1. dispatch를 이용한 포워딩
- 클라이언트의 웹 브라우저에서 첫 번째 서블릿에 요청
- 첫 번째 서블릿은 RequestDispatcher를 이용해 두 번째 서블릿으로 포워드
https://kimgom2.tistory.com/278
[이클립스/웹개발] redirect를 이용한 포워딩
1. 프로젝트 생성 2. 서블릿을 사용하기 위해 Build Path -> Configure Build Path... 3. Java Build Path -> Libraries -> Classpath -> Add External JARs... -> servlet-api.jar 선택 후 확인 -> Apply and C..
kimgom2.tistory.com
https://kimgom2.tistory.com/279
[이클립스/웹개발] refresh를 이용한 포워딩
이전글과 이어지는 내용이므로 이전글을 참고하는것이 좋다. https://kimgom2.tistory.com/278 Configure Build Path... 3. Java Build Path -> Libraries -> Classpath -> Add External JARs... -> servlet-api.j..
kimgom2.tistory.com
https://kimgom2.tistory.com/280
[이클립스/웹개발] location을 이용한 포워딩
https://kimgom2.tistory.com/278 Configure Build Path... 3. Java Build Path -> Libraries -> Classpath -> Add External JARs... -> servlet-api.jar 선택 후 확인 -> Apply and C.." data-og-host="kimgom2.t..
kimgom2.tistory.com
2. dispatch를 이용한 포워딩 실습
1. FirstServlet과 SecondServlet 클래스의 내용을 아래와 같이 수정한다.
RequestDispatcher 클래스를 이용해 두 번째 서블릿인 second를 지정한 후 forward() 메서드를 이용해 포워드
package sec03.ex01;
import java.io.IOException;
import java.io.PrintWriter;
import jakarta.servlet.RequestDispatcher;
import jakarta.servlet.ServletException;
import jakarta.servlet.annotation.WebServlet;
import jakarta.servlet.http.HttpServlet;
import jakarta.servlet.http.HttpServletRequest;
@WebServlet("/first5")
public class FirstServlet extends HttpServlet {
protected void doGet(HttpServletRequest request, jakarta.servlet.http.HttpServletResponse response) throws ServletException, IOException {
request.setCharacterEncoding("utf-8");
response.setContentType("text/html;charset=utf-8");
RequestDispatcher dispatch = request.getRequestDispatcher("second5");
dispatch.forward(request, response);
}
}
package sec03.ex01;
import java.io.IOException;
import java.io.PrintWriter;
import jakarta.servlet.ServletException;
import jakarta.servlet.annotation.WebServlet;
import jakarta.servlet.http.HttpServlet;
import jakarta.servlet.http.HttpServletRequest;
@WebServlet("/second5")
public class SecondServlet extends HttpServlet {
protected void doGet(HttpServletRequest request, jakarta.servlet.http.HttpServletResponse response) throws ServletException, IOException {
response.setContentType("text/html;charset=utf-8");
PrintWriter out = response.getWriter();
out.println("<html><body>");
out.println("dispatch를 이용한 forward 실습입니다.");
out.println("</body></html>");
}
}
2. 홈페이지 주소창에 IP주소:포트번호/프로젝트이름/매핑이름
다른 방법들과는 달리 웹 브라우저의 주소창의 URL이 변경되지 않았다. 이는 서블릿의 포워드가 서버에서 수행되었기 때문이다.