新手笔记(2) Servlet使用sendRedirect()方法和forward()方法重定向的区别

sendRedirect()方法
        response.sendRedirect(跳转页面URL)
        就是服务端根据逻辑,发送一个状态码(Location ,状态码320),告诉浏览器重新去请求那个地址,一般来说浏览器会用刚才请求的所有参数重新请求,所以session,request参数都可以获取。
        服务方(如:servlet)直接将目标URL发回浏览器,让浏览器自己自动重新向目标URL发出HTTP请求。 
        重定向是作为不同请求来看待的。

在上面我是使用了doGet的方法来实现,在此之前我在页面中传入了两个参数,而在使用sendRedirect方法进行重定向时,参数并没有被一起传输过去。

 

RequestDispatcher.forward()方法
        forward是服务器请求资源,服务器直接访问目标地址的URL,把那个URL的响应内容读取过来,然后把这些内容再发给浏览器,浏览器根本不知道服务器发送的内容是从哪儿来的,所以它的地址栏中还是原来的地址。 
        服务方(如:servlet)将请求转发到同一个WEB应用程序中另一个Servlet(或:JSP)--第三方 进行处理(该过程浏览器方-客户方并不知道),让这个第三方直接将结果返回给浏览器方。

而使用forword()方法时,传入的参数也能随之一起跳转。

 

转载于:https://www.cnblogs.com/keleshufan/p/9389377.html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值