web之转向与重定向

形象的解释下两者的概念
转向:小明找小庸借钱,小庸不好意思说没有,就去找小黄借钱。其中小明就发起了一次请求。
重定向:小明找小庸借钱,小庸直接说没有钱,让小明找小黄借钱,小明跑去找小黄借钱。其中小明发起了两次请求。

转向:
代码中实现“转向”的方式:利用requestDispatcher 接口
例子:index.html ->servlet1(转发到)-> index2.jsp
利用HttpServletRequest的getRequestDispatcher(path) path是指定转发的目标地址。
req.getRequestDispatcher("/index2.jsp").forward(req, resp);//转发

假如设定个index.html 先跳转到servlet1里;然后在servlet1的doget方法里调用上述代码,实现跳转到index2.jsp里

在这里插入图片描述

在这里插入图片描述

重定向:
代码中实现“转向”的方式:利用Redirect接口
利用HttpServletResponse的sendRedirect(path)path是指定重定向的目标地址。
resp.sendRedirect("/WebPro/index2.jsp");//重定向

转发和重定向的区别:
1.请求的转发是一种服务器的行为,转发时request对象会被保存,也就是说“被转发到
了另一个servlet或其他资源中的request对象,跟请求转发的request是同一个对象”。
又由于这个过程是服务器行为,所以客服端的地址栏不会发生改变,从始到终请求只有一次,
一个。

2.请求的重定向是一种客服端行为,实际上期间发生了两次请求,前一次的请求request对象
不会作保存,两个servlet里的request对象不是同一个,且地址栏地址会发生改变。
3.转发只能装发到web应用的内部资源;重定向可以是任何资源例如重定向到百度。
4.转发中的地址“/”是web应用的根目录;重定向的地址“/”是站点根目录。注意web应用的根目录指定是项目里的webcontent下的目录,站点根目录指的是http://localhost:8080/后的目录

jsp页面也可以操作转向和重定向:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值