>>分享Java Web开发技术,并且对孙卫琴的《Tomcat与Java Web开发技术详解》提供技术支持 书籍支持  卫琴直播  品书摘要  在线测试  资源下载  联系我们
发表一个新主题 开启一个新投票 回复文章 您是本文章第 30554 个阅读者 刷新本主题
 * 贴子主题:  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面向对象编程-->Java语言的基本语法和规范
  JavaWeb开发-->使用Session(Ⅱ)
  JSP与Hibernate开发-->JPA API的高级用法
  Java网络编程-->通过JavaMail API收发邮件
  精通Spring-->
  Vue3开发-->Vue组件开发基础
  Servlet@WebFilter注解方式——过滤器链的执行顺序
  不知道怎样使用eclipse软件,打开例子程序。
  HTTP请求方式:GET 对比 POST
  HTTP 请求和响应结果的数据格式
  HTTP 基本工作原理
  JSP 表达式语言
  Servlet的调试技巧
  Java Web 开发必须掌握的三个技术:Token、Cookie、Session
  30分钟学会使用Spring Web Services基础开发
  用@WebFilter配置过滤器
  HTTP GET和POST方式的区别
  JSP2和Servlet3的一些新特性
  Servlet的高级运用技巧:备注、模块化、异步处理、优化文件上...
  利用Tomcat自带的过滤器类来处理HTTP请求中的字符编码
  观看视频:孙卫琴讲解的Web应用运作基本原理,生动直观!
  更多...
 IPIP: 已设置保密
楼主      
1页 0条记录 当前第1
发表一个新主题 开启一个新投票 回复文章


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