JavaEE通过response实现请求重定向_java

 请求重定向指的是一个web资源收到客户端请求后,通知客户端去访问另外一个web资源,这称之为请求重定向。302状态码和location头即可实现重定向。

  请求重定向最常见的应用场景就是用户登录。 下面的示例代码从另一个页面重定向到用户登录页面:

复制代码 代码如下:

 package com.yyz.response;
 import java.io.IOException;
 import javax.servlet.ServletException;
 import javax.servlet.http.HttpServlet;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 public class ResponseDemo extends HttpServlet {
    public void doGet(HttpServletRequest request, HttpServletResponse response)
             throws ServletException, IOException {
         response.setHeader("location", "/day06/register.html");
         response.setStatus(302);
         //上面两句代码等同于下面这句代码:
         //response.sendRedirect("/day06/register.html");
 }
     public void doPost(HttpServletRequest request, HttpServletResponse response)
             throws ServletException, IOException {
            doGet(request,response);
     }
 }

 请求重定向的两个显著的特点:1.向服务器发送了两次请求。2.地址栏发生改变。由于服务器优化的一个重要原则是减少请求发送的次数,因而要少用请求重定向。

时间: 2025-01-30 00:03:15

JavaEE通过response实现请求重定向_java的相关文章

浏览器-mvc4中ajax请求重定向问题

问题描述 mvc4中ajax请求重定向问题 在mvc4中我有一个过滤器 在每一个action前都会先调用一次,里面的方法是用来判断用户是否登录如果是程序发出的请求还好可以重定向到登录页面 但ajax 的请求就无法重定向,我现在有一个解决方法但是 还是不完美 这是我的过滤器,如果是ajax的请求就在浏览器头部设置一个标记 protected override void OnActionExecuting(ActionExecutingContext filterContext) { if (Use

JSP 请求重定向和请求转发

一.请求重定向:[客户端行为],服务端response.sendRedirect("xx.jsp"),[从本质上讲等于两次请求],前一次的请求对象不会保存,地址栏的URL地址会改变. 二.请求转发:[服务器行为],服务端request.getRequestDispatcher("xx.jsp").forward(request,response);[从本质是一次请求],转发后请求对象会保存,地址栏的URL地址不会改变

asi重定向问题-iPhone开发中网络请求重定向多次后,重定向方法无效

问题描述 iPhone开发中网络请求重定向多次后,重定向方法无效 在做登陆功能的时候,发送了post请求网址是url,登陆成功后,会返回个新的newurl,在对newurl请求就ok,但是 登陆成功了几次后(正确的用户和密码),在登陆就不能触发请求了,其他的请求也不能触发,这是为什么??不仅仅是登陆这块的重定向请求,其他功能也有重定向请求,只要请求重定向了,累加3次 其他的网络请求就不能被触发,求解!!!急求 解决方案 http://www.hackhome.com/InfoView/Artic

JavaEE中用response向客户端输出中文数据乱码问题分析_java

  Web服务器收到客户端的http请求,会针对每一次请求,分别创建一个用于代表请求的request对象,和代表响应的response对象.request和response对象既然代表请求和响应,那我们要获取客户机提交过来的数据,只需要找request对象就行了.要向客户机输出数据,只需要找response对象就行了. 复制代码 代码如下:  package com.yyz.response;  import java.io.IOException;  import java.io.Output

JAVAEE项目结构以及并发随想_java

    长久以来统领javaee领域的脚手架以spring  struts2 mybatis/hibernate引领: Spring: Spring is not just for Java services.spring作为cgi标准的实现,并不仅仅是作为Java领域的框架,C#平台依旧可以获益:spring提供了抽象化等各种方便的注解配置方式或者bootde 一体化方案,极大简化了Javaee的项目基础: 在spring的使用过程中,两面分化,一部分,轻量注解,一部分倾向于全注解. 首先注解

让Response.Redirect页面重定向更有效率

用 Redirect 方法可将浏览器重定向到另一个 URL,而不是将内容发送给用户. 这里有一篇文章介绍使用Redirect<Using Response.Redirect Effectively> ,文章详细的讨论了Response.Redirect ,给出了一段代码: public static class HttpResponseExtensions { public static void RedirectUser(this HttpResponse response, string

JavaEE中关于ServletConfig的小结_java

     在Servlet的配置文件中,可以使用一个或多个<init-param>标签为servlet配置一些初始化参数.当servlet配置了初始化参数后,web容器在创建servlet实例对象时,会自动将这些初始化参数封装到ServletConfig对象中,并在调用servlet的init方法时,ServletConfig对象传递给servlet.进而,程序员通过ServletConfig对象就可以得到当前servlet的初始化参数信息. 示例代码如下: 复制代码 代码如下:  packa

java网络编程中向指定URL发送GET POST请求示例_java

复制代码 代码如下: import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.io.OutputStream;import java.io.PrintWriter;import java.net.HttpURLConnection;import java.net.URL;import java.net.URLConnection;import jav

java发送get请求和post请求示例_java

java向服务端发送GET和POST请求 复制代码 代码如下: package com.hongyuan.test; import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.io.PrintWriter;import java.net.HttpURLConnection;import java.net.URL; public class HttpCl