请求转发和请求重定向----笔记

先上代码再讲区别

        //response.sendRedirect("hiweb");
        //response.sendRedirect("/hiweb");
        //response.sendRedirect("demo/hiweb");
        //request.getRequestDispatcher("/hiweb").forward(request, response);
        request.getRequestDispatcher("hiweb").forward(request, response);

请求转发:请求转发的本质是 web容器对请求,重新转发到容器的某个servlet(jsp本质也是servlet)进行处理 然后返回 响应;
交互过程:B->S S->B

请求重定向:请求重定向的本质是web容器对所请求的第一次请求 直接响应303报文携带正确地址, 然后由浏览器重新发起新的请求到web容器
交互过程 :B->S S->B B->S S->B

以上是本质区别,再来记录下源码级区别,
1.
请求转发由HttpServletRequest对象发起
而请求重定向由HttpServletResponse对象发起
2.
请求转发 填写的/代表着应用程序所在地之后的url
而请求重定向 填写的/代表着域名之后的url
设域名为 www.test.com
设java应用程序为名demo
请求转发 /hiweb 实际被导向www.test.com/demo/hiweb
请求转发 hiweb 实际被导向www.test.com/demo/hiweb

请求重定向 /hiweb 实际被导向www.test.com/hiweb
请求重定向 hiweb 实际被导向www.test.com/demo/hiweb

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值