请求转发和重定向路径问题

本文探讨了HTTP请求转发和重定向之间的URL路径区别。RequestDispatcher的forward()和include()方法用于请求转发,其中forward()常用,且路径可相对或绝对。相对路径保持在同一Web应用内,而绝对路径从Web应用根开始。重定向通过response.sendRedirect()实现,可以指向任意Web应用的URL,浏览器地址栏会显示新的URL。
摘要由CSDN通过智能技术生成

RequestDispatcher

RequestDispatcher只有两个方法:forward()和include()。这两个方法都取请求和响应对象为参数(接收转发请求的组件需要这些对象来完成任务)。在这两个方法中,forward()是目前最常用的。一般不太可能从控制器servlet调用include方法;不过,在后台,JSP可能在<jsp:include>标准动作中调用include方法。有下面两种办法得到RequestDispatcher:

从ServletRequest得到RequestDispatcher

RequestDispatcher view =request.getRequestDispatcher(“result.jsp”);

这是相对路径,因为最前面没有斜线("/")。在这种情况下,容器会请求所在的逻辑位置查找"result.jsp"

若这条语句所在的servlet的url是http://localhost:端口号/a/b/c。

转发给的路径实际上是:http://localhost:端口号/a/b/result.jsp。


那绝对路径呢?如果路径最前面有一个斜线("/"),容器就会把这看作是"要从这个Web应用的根开始。注意web应用名是根,之后的路径就是斜线以后的内容。

RequestDispatcher view=getServletContext().getRequestDispat

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值