본문 바로가기
Web/JSP/Servlet/JDBC

redirect/forword/include 란 /예제/샘플

by 나비와꽃기린 2016. 6. 22.

3.2 페이지 이동

3.2.1 sendredirect

-주소변경O, 값 전송X

-웹 페이지를 다른 위치로 이동시킨 다음 사용자들을 다른 페이지로 유도할 때 다른 웹 서버에 있는 웹 자원도 호출가능

-텍스트 자료만 전달

-한글을 전달하려면 URL인코딩해야함.

 

3.2.2 forword

-클라이언트로부터의 요청과 응답정보를 매개변수로 모든 제어를 넘김

-주소변경X, 값 전송O

-다른 페이지에 이동하면서 현재 페이지 정보/제어권 모두 보냄(현재 페이지에서 할일을 다 하고 난 후 호출할 경우에 유용)

-같은 웹서버, 같은 웹 애플리케이션내에 웹 자원만 호출

-객체형태 모든 데이터를 전달

 

3.2.3 include

-클라이언트로부터 요청과 응답정보를 넘겨 실행한 결과를 포함.(실행후 다시 돌아온다)

 

 

 

 

***실습12

import java.io.IOException;

 

import javax.servlet.RequestDispatcher;

import javax.servlet.ServletException;

import javax.servlet.annotation.WebServlet;

import javax.servlet.http.HttpServlet;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

 

@WebServlet("/Dispatcher")

public class DispatcherServlet extends HttpServlet {

             private static final long serialVersionUID = 1L;

 

            

            

             protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

                           RequestDispatcher dispatcher=

                                                      request.getRequestDispatcher("dispatcher.jsp");

                           request.setAttribute("requestName", "dispatcher요청합니다..");

                           dispatcher.forward(request, response);

             }

            

             //http://localhost:8090/Web01/Dispatcher 가 됨 --> forward 방식

 

}

 

<%@ page language="java" contentType="text/html; charset=EUC-KR"

    pageEncoding="EUC-KR"%>

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=EUC-KR">

<title>Insert title here</title>

</head>

<body>

 

request속성값 : <%= request.getAttribute("requestName") %>

</body>

</html>

 

 

***실습13

import java.io.IOException;

import javax.servlet.ServletException;

import javax.servlet.annotation.WebServlet;

import javax.servlet.http.HttpServlet;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

 

@WebServlet("/Redirect")

public class RedirectServlet extends HttpServlet {

             private static final long serialVersionUID = 1L;

 

 

             protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

                           request.setAttribute("request", "Redirect로 보낸 자료");

                           //response.sendRedirect("redirect.jsp");

                           response.sendRedirect("redirect.jsp?name='hong'");

                          

             }

 

            

             /*

              * http://localhost:8090/Web01/redirect.jsp 가 됨

              * 값이 안오는..

              */

}

<%@ page language="java" contentType="text/html; charset=EUC-KR"

    pageEncoding="EUC-KR"%>

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=EUC-KR">

<title>Insert title here</title>

</head>

<body>

 

<!--  request속성값 : --><%-- <%= request.getAttribute("request") %> --%>

 request속성값 : <%= request.getParameter("name") %>

</body>

</html>

 

 

댓글0