Учебники

Сервлеты — перенаправление страниц

Перенаправление страницы — это метод, при котором клиент отправляется в другое место, отличное от запрошенного. Перенаправление страниц обычно используется, когда документ перемещается в новое место или может быть связано с балансировкой нагрузки.

Самый простой способ перенаправить запрос на другую страницу — использовать метод sendRedirect () объекта ответа. Ниже приведена подпись этого метода —

public void HttpServletResponse.sendRedirect(String location) 
throws IOException 

Этот метод отправляет ответ в браузер вместе с кодом состояния и новым местоположением страницы. Вы также можете использовать методы setStatus () и setHeader () вместе, чтобы достичь того же самого —

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

пример

В этом примере показано, как сервлет выполняет перенаправление страниц в другое место —

import java.io.*;
import java.sql.Date;
import java.util.*;
import javax.servlet.*;
import javax.servlet.http.*;

public class PageRedirect extends HttpServlet {
    
   public void doGet(HttpServletRequest request, HttpServletResponse response)
      throws ServletException, IOException {

      // Set response content type
      response.setContentType("text/html");

      // New location to be redirected
      String site = new String("http://www.photofuntoos.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>/PageRedirect</url-pattern>
</servlet-mapping>
....

Теперь вызовите этот сервлет, используя URL http: // localhost: 8080 / PageRedirect. Это перенаправит вас на URL http://www.photofuntoos.com.