JavaWeb-response完成重定向

Posted 爱编程DE文兄

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JavaWeb-response完成重定向相关的知识,希望对你有一定的参考价值。

一.重定向的理解

  >客户端发送请求给服务器,服务器返回302并带一个地址给浏览器,让浏览器去请求这个地址,这个过程就是重定向

    比如:有3个人分别为A,B,C;A去请求B帮忙做一件事,B无能为力,B把C的地址给A,让A去请求C做这件事。说简单点就是:找别人帮忙

 

二.重定向的注意事项

  >服务器返回302给浏览器时,还会带一个地址,这个地址以响应头的形式发送,而且头的名称必须为Location

  >重定向的过程中,浏览器发送了两个请求

 

三.流程图示例

 

 四.代码示例:

package cn.xxx.Servlet;

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 BServlet extends HttpServlet {

    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        //设置location响应头
        response.setHeader("Location", "/Demo01/CServlet");
        response.setStatus(302);  //发送状态码
    }

    

}

 

package cn.xxx.Servlet;

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 CServlet extends HttpServlet {

    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        System.out.println("CServlet");
    }
}

 

以上是关于JavaWeb-response完成重定向的主要内容,如果未能解决你的问题,请参考以下文章

Jsp获取Java的重定向赋值(String)

302 登录重定向后被 IE 删除的 URL 片段

链接中的 URL 片段和 JSF 中的 ajax 重定向

使用片段 (#) 重定向链接 - asp.net

在 PHP 重定向期间处理片段标识符

重定向时如何在 Safari 中保留 uri 片段?