>>分享Java Web开发技术,并且对孙卫琴的《Tomcat与Java Web开发技术详解》提供技术支持 书籍支持  卫琴直播  品书摘要  在线测试  资源下载  联系我们
发表一个新主题 开启一个新投票 回复文章 您是本文章第 21139 个阅读者 刷新本主题
 * 贴子主题:  Servlet 网页重定向 回复文章 点赞(0)  收藏  
作者:flybird    发表时间:2020-01-29 18:16:20     消息  查看  搜索  好友  邮件  复制  引用

  

Servlet  网页重定向

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

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

public void HttpServletResponse.sendRedirect(String location)throws IOException

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

....

String site = "http://www.javathinker.net" ;

response.setStatus(response.SC_MOVED_TEMPORARILY);

response.setHeader("Location", site);

....

范例

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


package net.javathinker.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.javathinker.net");

              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>/TomcatTest/PageRedirect</url-pattern>

</servlet-mapping>

....

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







程序猿的技术大观园:www.javathinker.net



[这个贴子最后由 flybird 在 2020-02-03 21:19:05 重新编辑]
  Java面向对象编程-->图形用户界面(上)
  JavaWeb开发-->Web运作原理(Ⅳ)
  JSP与Hibernate开发-->第一个helloapp应用
  Java网络编程-->客户端协议处理框架
  精通Spring-->虚拟DOM和render()函数
  Vue3开发-->Vue指令
  服务器端推送技术汇总
  HTTP请求方式:GET 对比 POST
  JSP 调试 技巧
  JSP 指令
  Servlet 异常处理
  Servlet 访问客户端 HTTP 请求 信息
  一文看懂web服务器、应用服务器、web容器、反向代理服务器区...
  Java web使用监听器实现定时周期性执行任务的功能
  JSP还有必要学吗 这篇文章告诉你
  读《Tomcat与JavaWeb开发技术详解》的笔记
  JSTL标签库的标签用法
  Java表达式EL语言介绍
  Tomcat的工作模式和运行模式
  Java高级——HTTP重定向实现负载均衡
  利用Tomcat自带的过滤器类来处理HTTP请求中的字符编码
  更多...
 IPIP: 已设置保密
树形列表:   
1页 0条记录 当前第1
发表一个新主题 开启一个新投票 回复文章


中文版权所有: JavaThinker技术网站 Copyright 2016-2026 沪ICP备16029593号-2
荟萃Java程序员智慧的结晶,分享交流Java前沿技术。  联系我们
如有技术文章涉及侵权,请与本站管理员联系。