请求的转发和重定向

25 篇文章 0 订阅


本质区别: 请求的转发只发出了一次请求, 而重定向则发出了两次请求. 



具体:


①. 请求的转发: 地址栏是初次发出请求的地址.
       请求的重定向: 地址栏不再是初次发出的请求地址. 地址栏为最后响应的那个地址 
       
②. 请求转发: 在最终的 Servlet 中, request 对象和中转的那个 request 是同一个对象. 
       请求的重定向: 在最终的 Servlet 中, request 对象和中转的那个 request 不是同一个对象.       
   
③. 请求的转发: 只能转发给当前 WEB 应用的的资源
       请求的重定向: 可以重定向到任何资源. 
       
④. 请求的转发: / 代表的是当前 WEB 应用的根目录

       请求的重定向: / 代表的是当前 WEB 站点的根目录. 


例如:

新建三个jsp文件 1.jsp,2.jsp,3.jsp

在1.jsp中 执行转发和重定向3.jsp 观察结果

1.jsp

<body>
        <h1>1111</h1>
        <a href="2.jsp"> To 2.jsp</a>
    </body>
2.jsp

<body>
        <h1>2222</h1>
        <%   
            //分别执行转发和重定向
            //1、转发
           // request.getRequestDispatcher("3.jsp").forward(request, response);
            //2、重定向
            response.sendRedirect("3.jsp");
        %>
    </body>
3.jsp

<body>
        <h1>3333</h1>
    </body>

在1.jsp界面先点击超链接转到2.jsp,

执行转发后,跳到3.jsp 地址栏显示的是2.jsp

执行重定向后,跳到3.jsp,但地址栏显示的是3.jsp  

所以验证了开头的结论。

如图:

转发   (看地址栏 )

重定向 (看地址栏)





 








  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值