728x90
1. redirect를 이용한 포워딩
- 클라이언트의 웹 브라우저에서 첫 번째 서블릿에 요청
- 첫 번째 서블릿은 sendRedirect() 메서드를 이용해 두 번째 서블릿을 웹 브라우저를 통해 요청
- 웹 브라우저는 sendRedirect() 메서드가 지정한 두 번째 서블릿을 다시 요청
2. redirect를 이용한 포워딩 실습
1. 프로젝트 생성
2. 서블릿을 사용하기 위해 Build Path -> Configure Build Path...
3. Java Build Path -> Libraries -> Classpath -> Add External JARs... -> servlet-api.jar 선택 후 확인 -> Apply and Close
4. 아래 사진에서 보이는 경로에 ojdbc.jar와 tomcat-jdbc.jar 추가
5. FirstServlet라는 이름의 서블릿 클래스와 SecondServlet이라는 이름의 서블릿 클래스를 생성한 후 아래와 같은 내용을 입력
redirect 기능을 구현한 서블릿
package sec01.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("/first")
public class FirstServlet extends HttpServlet {
protected void doGet(HttpServletRequest request, jakarta.servlet.http.HttpServletResponse response) throws ServletException, IOException {
response.setContentType("test/htm;charset=utf-8");
PrintWriter out = response.getWriter();
response.sendRedirect("second");
}
}
첫 번째 서블릿에서 요청을 받아 실행한느 두 번째 서블릿
package sec01.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("/second")
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("sendRedirect를 이용한 redirect 실습입니다.");
out.println("</body></html>");
}
}
6. 서버에 pro8(프로젝트)를 추가한 후 FInish 한다. 그 뒤 서버를 구동
7. 홈페이지 주소창에 IP주소:포트번호/프로젝트이름/매핑이름 입력 후 엔터
localhost:8090/pro08/first
/first로 요청하면 sendRedirect()를 호출해 웹 브라우저에게 다시 /second를 요청한다. 따라서 아래와 같은 결과가 나오게 된다.
728x90
'백엔드 > 웹개발' 카테고리의 다른 글
[이클립스/웹개발] location을 이용한 포워딩 (0) | 2022.02.23 |
---|---|
[이클립스/웹개발] refresh를 이용한 포워딩 (0) | 2022.02.23 |
[웹개발] 서블릿 포워드 (0) | 2022.02.23 |
[이클립스/웹개발] DataSource 이용해 회원 정보 등록/삭제하기 (커넥션풀) (0) | 2022.02.22 |
[이클립스/웹개발] 이클립스에서 톰캣 DataSource 설정 (커넥션풀) (0) | 2022.02.22 |