>>分享Java Web开发技术,并且对孙卫琴的《Tomcat与Java Web开发技术详解》提供技术支持 书籍支持  卫琴直播  品书摘要  在线测试  资源下载  联系我们
发表一个新主题 开启一个新投票 回复文章 您是本文章第 21385 个阅读者 刷新本主题
 * 贴子主题:  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开发-->自定义JSP标签(Ⅱ)
  JSP与Hibernate开发-->使用JPA和注解
  Java网络编程-->XML数据处理
  精通Spring-->计算属性和数据监听
  Vue3开发-->通过Axios访问服务器
  在Java Web应用中获取绝对路径和相对路径
  Java二维码生成-谷歌(Google.zxing)开源二维码生成的范例及...
  HTTP 基本工作原理
  JSP 表达式语言
  JSP 隐含对象
  JSP 指令
  Servlet 自动刷新页面 范例
  Apache Internal Server Error 解决方法
  JSP还有必要学吗 这篇文章告诉你
  如何用Servlet动态生成验证码
  Tomcat版本与JDK版本的对应关系
  HTML5 简介
  JavaEE的发展趋势
  孙卫琴的JavaWeb视频教程的源代码下载
  用Maven部署war包到远程Tomcat服务器
  更多...
 IPIP: 已设置保密
楼主      
1页 0条记录 当前第1
发表一个新主题 开启一个新投票 回复文章


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