- 포워드 기능
- 하나의 Servlet에서 다른 Servlet이나 jsp와 연동하는 방법을 포워드(forward) 라고 한다.
- 포워드 사용 용도 요약
- 요청에 대한 추가 작업을 다른 서블릿에게 수행 전달
- 요청(request)에 포함된 정보를 다른 Servlet 또는 jsp와 공유 가능
- 요청(request)에 정보를 포함시켜 다른 Servlet에 전달 가능
- Model2 방식 개발시 Servlet -> jsp 데이터 전달 사용 가능
- Servlet 에서 사용되는 포워드(forward) 방법
- redirect
- HttpServletResponce 객체의 sendRedirect() 메서드 이용
- 웹 브라우저에 재요청 하는 방식
- 사용 방법 -> responce.sendRedirect("test1.jsp");
- Refresh
- HttpServletResponce 객체의 addHeader() 메서드 사용
- 웹 브라우저에 재요청 하는 방식
- 사용 방법 -> responce.addHeader("Refrest", "경과시간(초); url = test.jsp");
- dispatch
- 일반적으로 포워딩 기능을 지칭
- Servlet이 직접 요청 하는 방법
- RequestDispatcher 클래스의 forward() 메서드를 이용 한다.
- 형식 : RequestDispatcher dis = request.getRequestDispatcher("포워드 할 Servlet 또는 jsp"); dis.forward("request, response);
- redirect, refresh, location -> Servlet이 웹 브라우저를 거쳐 다른 Servlet이나 jsp에게 요청 하는 방식
- dispatch -> 바로 다른 서블릿에게 다이렉트 요청
- redirect
- redirect를 이용한 forward
response().sendREdirect -> responce 객체 내 sendRedirect 메서드를 사용한다 -> responce.sendRedirect("second") -> SecondServlet.java내 /second value Redirect 요청
- Redirect를 통한 다른 서블릿에 데이터 전달하기
1. response.sendRedirect("Second?name=lee)
-> response 객체 내 sendRedirect ()메서드를 사용하여 Second 경로에 name 파라미터를 통해 lee라는 값을 전송한다.
1. String 타입 name 변수를 생성하여 request 객체 내 getParameter() 메서드를 사용하여 name 파라미터를 전달 받음.
2.PrintWriter 클래스를 사용하여 웹 페이지내 html 바인딩 진행
3. 이름 : name 변수값을 사용하여 출력한다.
- Servlet을 이용한 dispatch 포워딩 실습
1.RequestDispatcher 클래스 사용 하여 request 객체 내 getDispatcher() 메서드를 사용하여 Second를 호출
2.dispatch.forward()메서드내에 request, response 인자를 전달한다
'JAVA' 카테고리의 다른 글
두개 Servlet 바인딩 예제 (0) | 2021.08.04 |
---|---|
바인딩 (0) | 2021.08.04 |
Servlet 회원 정보 삭제 로직 (0) | 2021.08.01 |
Servlet 회원정보 Insert 간단 예제 (0) | 2021.07.31 |
DataSource를 이용한 데이터베이스 연동 (0) | 2021.07.30 |