请求转发和重定向的区别

本文探讨了Servlet中请求转发和重定向的区别,包括地址栏变化、资源访问、请求对象共享及请求次数。重定向会改变地址并无法共享请求资源,而转发则保持请求对象不变,适用于内部资源访问。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、重定向 sendredirect 会使地址栏显示的地址改变

2、重定向 sendredirect 可以访问外部资源, 而请求转发 forward只可以在访问本身的内部资源。

3、请求转发 forward 都会共享request里面的资源。 而重定向 sendredirect 不可以(重定向不可以获取重定向前请求对象的值,请求转发可以获取请求转发前请求对象的值)

4、重定向 sendredirect 相当于2次请求2次回复,而请求转发 forward 只是一次请求一次回复 


response.sendRedirect 是重定向到某个页面上,相当于重新打开浏览器输入你要打开的网址。

request.getRequestDispatcher(a.jsp).forward(request,response)这个方法会将参数传会a.jsp页面。而浏览器的地址栏也不会显示a.jsp,显示的会是你处理操作的那个页面。

如果当前页面是http://127.0.0.1/b.jsp使用response.sendRedirect("a.jsp")的话,地址栏将显示http://127.0.0.1/a.jsp

而request.getRequestDispatcher(a.jsp).forward(request,response)显示的还是http://127.0.0.1/b.jsp..如果有参数,后面还会有参数


这个方法可以将request和

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值