Latest web development tutorials

서블릿 페이지 리디렉션

문서를 새 위치로 이동할 때, 우리는이 새로운 위치에 클라이언트에 보낼 필요, 우리는 페이지 리디렉션을 사용할 필요가있다. 물론,로드 밸런싱이거나, 단순한 랜덤, 이러한 경우 페이지로 리디렉션하는데 사용될 가능성이있다.

가장 쉬운 방법은 응답 객체에대해 sendRedirect () 메소드를 사용하는 다른 페이지로 요청을 리디렉션합니다.다음은이 방법의 정의는 다음과 같습니다 요청이 가장 쉬운 방법은 방법에 대해 sendRedirect () 응답 객체를 사용하는 다른 페이지로 리디렉션됩니다. 다음은이 방법의 정의입니다 :

공공 무효이 HttpServletResponse.sendRedirect (문자열 위치)
예외 : IOException가 슬로우 

이 방법을 함께 가진 응답 상태 코드와 새 페이지 위치는 브라우저로 다시 전송됩니다. 또한 동일한 효과를 얻을 대해 setStatus ()와 setHeader () 메소드를 사용하여 함께 넣을 수 있습니다 :

....
String site = "http://www.w3big.com" ;
response.setStatus(response.SC_MOVED_TEMPORARILY);
response.setHeader("Location", site); 
....

이 예에서는 다른 위치 페이지로 리디렉션 방법 서블릿 보여준다

package com.w3big.test;

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;

/**
 * Servlet implementation class PageRedirect
 */
@WebServlet("/PageRedirect")
public class PageRedirect extends HttpServlet{
    
  public void doGet(HttpServletRequest request,
                    HttpServletResponse response)
            throws ServletException, IOException
  {
      // 设置响应内容类型
      response.setContentType("text/html;charset=UTF-8");

      // 要重定向的新位置
      String site = new String("http://www.w3big.com");

      response.setStatus(response.SC_MOVED_TEMPORARILY);
      response.setHeader("Location", site);    
    }
} 

이제 위의 서블릿을 컴파일하고 web.xml 파일에 다음 항목을 만들 수 있습니다 :

....
 <servlet>
     <servlet-name>PageRedirect</servlet-name>
     <servlet-class>PageRedirect</servlet-class>
 </servlet>

 <servlet-mapping>
     <servlet-name>PageRedirect</servlet-name>
     <url-pattern>/TomcatTest/PageRedirect</url-pattern>
 </servlet-mapping>
....

이제 URL에 http를 방문하여 : // localhost를 : 8080 / PageRedirect이 서블릿을 호출합니다. 이것은 주어진 URL의 http://www.w3cschool.cc로 이동합니다.