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");
    }
}

猜你喜欢

转载自www.cnblogs.com/ibcdwx/p/12291595.html