课程表

Servlet课程

工具箱
速查手册

Servlet 网页重定向

当前位置:免费教程 » Java相关 » Servlet

当文档移动到新的位置,我们需要向客户端发送这个新位置时,我们需要用到网页重定向。当然,也可能是为了负载均衡,或者只是为了简单的随机,这些情况都有可能用到网页重定向。

重定向请求到另一个网页的最简单的方式是使用 response 对象的 sendRedirect() 方法。下面是该方法的定义:

  1. public void HttpServletResponse.sendRedirect(String location)
  2. throws IOException

该方法把响应连同状态码和新的网页位置发送回浏览器。您也可以通过把 setStatus() 和 setHeader() 方法一起使用来达到同样的效果:

  1. ....
  2. String site = "//www.w3xue.com" ;
  3. response.setStatus(response.SC_MOVED_TEMPORARILY);
  4. response.setHeader("Location", site);
  5. ....

实例

本实例显示了 Servlet 如何进行页面重定向到另一个位置:

  1. package com.W3xue.test;
  2.  
  3. import java.io.IOException;
  4.  
  5.  
  6. import javax.servlet.ServletException;
  7. import javax.servlet.annotation.WebServlet;
  8. import javax.servlet.http.HttpServlet;
  9. import javax.servlet.http.HttpServletRequest;
  10. import javax.servlet.http.HttpServletResponse;
  11.  
  12. /**
  13. * Servlet implementation class PageRedirect
  14. */
  15. @WebServlet("/PageRedirect")
  16. public class PageRedirect extends HttpServlet{
  17. public void doGet(HttpServletRequest request,
  18. HttpServletResponse response)
  19. throws ServletException, IOException
  20. {
  21. // 设置响应内容类型
  22. response.setContentType("text/html;charset=UTF-8");
  23.  
  24. // 要重定向的新位置
  25. String site = new String("//www.w3xue.com");
  26.  
  27. response.setStatus(response.SC_MOVED_TEMPORARILY);
  28. response.setHeader("Location", site);
  29. }
  30. }

现在让我们来编译上面的 Servlet,并在 web.xml 文件中创建以下条目:

  1. ....
  2. <servlet>
  3. <servlet-name>PageRedirect</servlet-name>
  4. <servlet-class>PageRedirect</servlet-class>
  5. </servlet>
  6.  
  7. <servlet-mapping>
  8. <servlet-name>PageRedirect</servlet-name>
  9. <url-pattern>/TomcatTest/PageRedirect</url-pattern>
  10. </servlet-mapping>
  11. ....

现在通过访问 URL http://localhost:8080/PageRedirect 来调用这个 Servlet。这将把您转到给定的 URL //www.w3xue.com。

转载本站内容时,请务必注明来自W3xue,违者必究。
 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号