forward和redirect的区别?

forward:转发;redirect:重定向。区别如下:

  • 浏览器 url 地址显示不同

服务端通过 forward 返回,浏览器 url 地址不会发生变化;服务器通过 redirect 返回,浏览器会重新请求, url 地址会发生变化

  • 前后台两者页面跳转的处理方式不同

forward 跳转页面,是服务端进行页面跳转加载(include)新页面,直接返回到浏览器;redirect 跳转页面,是服务端返回新的 url 地址,浏览器二次发出 url 请求

  • 参数携带情况不一样

forward 跳转页面,会共享请求的参数到新的页面;redirect 跳转页面,属于一次全新的 http 请求,无法共享上一次请求的参数

  • http 请求次数不同

forward 1次;redirect 2次

  • 新目标地址范围不同

forward 必须是同一个应用内的某个资源;redirect 的新地址可以是任意地址

基于 servlet 实现

test servlet

package constxiong; 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; /** * test servlet * @author ConstXiong * @date 2019-06-26 10:00:34 */@WebServlet("/test")public class TestServlet extends HttpServlet {private static final long serialVersionUID = 1L; public TestServlet() {} protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {response.getWriter().write("This is test.");} protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {} }

请求返回

forward和redirect的区别?-度崩网-几度崩溃

redirect servlet

package constxiong; 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; /** * redirect servlet * @author ConstXiong * @date 2019-06-26 10:00:34 */@WebServlet("/redirect")public class RedirectServlet extends HttpServlet {private static final long serialVersionUID = 1L; public RedirectServlet() {} protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {response.sendRedirect("http://www.baidu.com");} protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {} }

请求返回

forward和redirect的区别?-度崩网-几度崩溃

forward servlet

package constxiong; 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; /** * forward servlet * @author ConstXiong * @date 2019-06-26 10:00:34 */@WebServlet("/forward")public class ForwardServlet extends HttpServlet {private static final long serialVersionUID = 1L; public ForwardServlet() {} protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {request.getRequestDispatcher("/test").forward(request, response);//forward 跳转到 test 请求} protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {} }

请求返回

forward和redirect的区别?-度崩网-几度崩溃

给TA打赏
共{{data.count}}人
人已打赏
Java

div居中和内容居中的css属性设置

2020-7-31 2:00:00

Java

jquery书写ajax的的方式及参数说明

2020-7-31 2:03:20

本站所发布的一切源码、模板、应用等文章仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。如果您喜欢该程序,请支持正版,购买注册,得到更好的正版服务。如有侵权。本站内容适用于DMCA政策。若您的权利被侵害,请与我们联系处理,站长 QQ: 84087680 或 点击右侧 私信:盾给网 反馈,我们将尽快处理。
⚠️
本站所发布的一切源码、模板、应用等文章仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。如果您喜欢该程序,请支持正版,购买注册,得到更好的正版服务。如有侵权。本站内容适用于DMCA政策
若您的权利被侵害,请与我们联系处理,站长 QQ: 84087680 或 点击右侧 私信:盾给网 反馈,我们将尽快处理。
0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索