servlet请求转发与重定向的区别

1.请求转发(forward)

request.getRequestDispatcher("parameter").forward(request,response);
跳转到指定的服务器资源,地址栏URL不变,请求响应不变。


2请求包含(include)
request.getRequestDispatcher("parameter").include(request,response);
跳转到指定的服务器资源且包含之前的资源,地址栏URL不变,请求响应不变。

注*  parameter可以是一个servlet,可以是一个jsp文件,或者是一个html文件,我们可以理解为客户端请求调用服务器的资源。

 

3.重定向(redirect)
rosponse.sendRedirect("http://www.baidu.com");
跳转到指定url资源,地址栏url不同,请求响应不同(另起一个响应)

 

请求转发(包含)和重定向的区别
1.请求转发只有一个请求和响应,而重定向,则是另起一个请求响应,也就是说两个请求和响应。
2.请求转发只能调用跳转到在本服务器下的资源,但是重定向可以跨应用,比如例子中跳转到百度首页。
3.请求转发地址栏不变,重定向地址栏变化
4.请求转发和包含是通过请求(request)调用的,重定向则是通过响应(response)调用的

无论是那种跳转,在当前资源中的代码都会执行完成。

转载于:https://www.cnblogs.com/leduo-zuul/p/10690021.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值