页面重定向是一种将客户端发送到请求之外的新位置的技术.页面重定向通常在文档移动到新位置时使用,或者可能是因为负载平衡.
将请求重定向到另一个页面的最简单方法是使用方法 sendRedirect( )响应对象.以下是此方法的签名 :
public void HttpServletResponse.sendRedirect(String location) throws IOException
此方法将响应以及状态代码和新页面位置发送回浏览器.你也可以一起使用setStatus()和setHeader()方法来实现相同 :
.... String site = "https://img01.yuandaxia.cn/Content/img/tutorials/servlets/www.newpage.com" ; response.setStatus(response.SC_MOVED_TEMPORARILY); response.setHeader("Location", site); ....
此示例显示servlet如何执行页面重定向到另一个位置 :
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); } }
现在让我们编译上面的servlet并在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调用此servlet.这会将您重定向到URL https://img01.yuandaxia.cn/Content/img/tutorials/servlets/s =&d =&r = PLF&ref = https%3A%2F%2Fwww.tutorialspoint.com%2Fservlets%2Fservlets-page-redirect