浅谈Servlet 实现网页重定向的方法

本文介绍了Servlet 实现重定向的方法,分享给大家,具体如下:

HttpServletResponse

服务器响应客户端请求时,就要用到HttpServletResponse接口。设置响应的类型可以使用setContentType()方法。发送字符数据,可以使用getWriter()返回一个对象。

常用方法

  • add(Cookie cookie) 将指定的cookie加入到响应中
  • addHeader(String name, String value) 将指定的属性名和值加入响应
  • containsHeader(String name) 判断响应头是否设置
  • encodeURL(String url) 编码指定的url
  • sendRedirect(String location) 发送临时响应到客户端
  • setHeader(String name, String value) 将给出的名字和值设置响应头
  • setStatus(int sc) 设置状态码
  • setContentType(String type) 设置响应的MIME类型

Servlet网页重定向

文档移动到新位置,要向客户端发送这个新位置,还有就是为了负载均衡,简单的随机都有可能用到网页重定向。
重定向最简单的方式使用sendRedirect()方法:

代码如下:

public void HttpServletResponse.sendRedirect(String location) throws IOException

也可以使用setStatus()和setHeader()方法:

String site = "www.huihui.kim";
response.setStatus(response.SC_MOVE_TEMPORARILY);
response.setHeader("location",site);

实例

public class PageRedirect extends Httpservlet{
  public void doGet(HttpServletRequest req, HttpServletResponse res)throws ServletException, IOException{
    res.setContentType("text/html;charset=UTF-8");
    String site = new String(www.huihui.kim);
    response.setStatus(response.SC_MOVE_TEMPORARILY);
    response.setHeader("location",site);
  }
}

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>

此时访问localhost/8080/pageRedirect将跳转到指定url。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • servlet重定向详解(八)

    本文实例为大家分享了servlet重定向的具体内容,供大家参考,具体内容如下 1.重定向是什么? 这里说的重定向是由http协议规定的一种机制.其工作流程如下所述. (1)客户端发起http请求,访问服务器端组件. (2)服务器端返回一个状态代码为302的响应结果.该代码的意思是让浏览器再访问另一个组件,响应结果中包含着访问新组件的url地址.新的访问组件可能在同一个应用中也可能不在同一个应用中. (3)当浏览器接受到这种结果,会自动访问新的url. (4)浏览器端接受新的url返回结果. 2.

  • 浅谈Servlet 实现网页重定向的方法

    本文介绍了Servlet 实现重定向的方法,分享给大家,具体如下: HttpServletResponse 服务器响应客户端请求时,就要用到HttpServletResponse接口.设置响应的类型可以使用setContentType()方法.发送字符数据,可以使用getWriter()返回一个对象. 常用方法 add(Cookie cookie) 将指定的cookie加入到响应中 addHeader(String name, String value) 将指定的属性名和值加入响应 contai

  • 浅谈servlet中的request与response

    在b/s架构中,有request浏览器的请求,也有response的服务器反馈.底层是tcp/ip协议,应用层是http协议.在tomcat服务器中,版本6使用的http1.1版本协议.服务器发出request请求,在请求中有可能加载get和post请求(doget请求,是放在URL中可以使用getparmeter进行解析,因为tomcat把每一个网页请求看做一个对象,所以是面向对象(HttpServletRequest)进行封装,并有doget和dopost进行 对应的解析.主要的API如下:

  • 浅谈DetachedCriteria和Criteria的使用方法(必看)

    在常规的Web编程中,有大量的动态条件查询,即用户在网页上面自由选择某些条件,程序根据用户的选择条件,动态生成SQL语句,进行查询. 比如,我记得在Facebook中可以选择高级查询条件,这个就是个动态的查询了塞,我们无法预知使用多少个查询,直接书写死了在我们的Dao层显然是不服和我们的意思的塞 针对这种需求,对于分层应用程序来说,Web层需要传递一个查询的条件列表给业务层对象,业务层对象获得这个条件列表之后,然后依次取出条件,构造查询语句.这里的一个难点是条件列表用什么来构造?传统上使用Map

  • 浅谈Servlet转发到JSP页面的路径问题(必看)

    一.现象与概念 1. 问题 在Servlet转发到JSP页面时,此时浏览器地址栏上显示的是Servlet的路径,而若JSP页面的超链接还是相对于该JSP页面的地址且该Servlet和该JSP页面不在同一个文件夹下时,则会出现路径混乱问题. 2. 绝对路径概念 相对于contextPath(当前Web应用的上下文)的路径. 解决方案:超链接用绝对路径而不是相对路径.若/代表的是站点的根目录,在其前面加上contextPath. <a href="<%= request.getConte

  • 浅谈Servlet开发技术基础

    一.Servlet概述 1.sun公司提供的动态web资源开发技术.本质是上一段java小程序,要求这个小程序必须实现Servlet接口,以便服务器能够调用. 2.开发Servlet的两个步骤 *实验:Servlet的快速入门 (1)步骤一:写一个java程序实现Servlet接口(此处直接继承了默认实现类GenericServlet) package cn.itheima; import java.io.*; import javax.servlet.*; public class First

  • 浅谈Servlet的Cookie和Session机制

    一.Servlet Cookies Cookies定义:Cookies是存储在客户端计算机上的文本文件,并保留了用户的各种跟踪信息. Cookies作用:会话保持,如完成用户的登录与状态保持 Cookies的工作原理: 客户端向服务区发起登录请求 服务器脚本(代码)向浏览器发送一组Cookies,例如:姓名,年龄等 浏览器将这些信息存储在本地计算机上,以备将来使用 当下一次浏览器向web服务器发送任何请求时.浏览器会把这些Cookies信息发送到服务器,服务器将使用这些信息来识别账户 1.1 C

  • 浅谈AngularJS中ng-class的使用方法

    有三种方法: 1.通过$scope绑定(不推荐) 2.通过对象数组绑定 3.通过key/value键值对绑定 实现方法: 1.通过$scope绑定(不推荐): function ctrl($scope) { $scope.className = "selected"; } <div class="{{className}}"></div> 2.通过对象数组绑定: function ctrl($scope) { $scope.isSelecte

  • 浅谈Python类里的__init__方法函数,Python类的构造函数

    如果某类里没有__init__方法函数,通过类名字创建的实例对象为空,切没有初始化:如果有此方法函数,通常作为类的第一个方法函数,有点像C++等语言里的构造函数. class Ca: def __init__(self, v): # 注意前后各两个下划线 self.name = v def pr(self): print "a--->", self.name ia = Ca("Jeapedu") # 本质调用的是__init__方法函数 ia.pr() Ca.

  • 浅谈js中子页面父页面方法 变量相互调用

    (1)子页面调用父页面的方法或者变量: window.parent.方法()或者变量名 window.parent相当于定位到父页面  之后的操作和在父页面中写代码一样写 window.parent.aa();//调取aa函数 window.parent.bb;//调取bb变量 例如:想在子页面中得到id为aaa的文本框的值 window.parent.$("#aaa").val();//这种写法的前提是引用了jquery window.parent.getElementById(&q

  • 浅谈JavaScript的push(),pop(),concat()方法

    push 方法 将新元素添加到一个数组中,并返回数组的新长度值. arrayObj.push([item1 [item2 [. . . [itemN ]]]]) 参数 arrayObj 必选项.一个 Array 对象. item, item2,. . . itemN 可选项.该 Array 的新元素. 说明 push 方法将以新元素出现的顺序添加这些元素.如果参数之一为数组,那么该数组将作为单个元素添加到数组中.如果要合并两个或多个数组中的元素,需要使用 concat 方法. 版本要求在:5.5

随机推荐