Java redirect是什么?让我们一起来了解一下吧!
Java redirect是第一个页面通知浏览器发送一个新的页面请求。重定向是一个客户端行为,用户请求到达服务器之后,服务器返回响应,HTTP状态码置为302,并将转发的页面保存在响应头中的Location属性中,告诉客户端应该向这个地址发出请求,然后客户端再次发出请求。
那么我们如何区分选择重定向还是转发呢?通常情况下转发更快,而且能保持request内的对象,所以他是第一选择。但是由于在转发之后,浏览器中URL仍然指向开始页面,此时如果重载当前页面,开始页面将会被重新调用。如果你不想看到这样的情况,则选择转发。
实战操作,具体步骤如下:
package com.sn.servlet; 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 ServletB */ @WebServlet("/ServletB") public class ServletB extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { System.out.println("Bservlet"); /** * 重定向: * 1.设置Location * 2.发送302状态码 * 重定向是两次请求,浏览器地址栏发生变化 */ response.setStatus(302); //重定向 //这两个方法实现的过程都是一样的 //response.setHeader("Location", "http://www.baidu.com"); response.sendRedirect("http://www.baidu.com"); //重定向要百度 } }
以上就是小编今天的分享了,希望可以帮助到大家。