JSP获取路径信息方式的对比

本文详细解释了在Java Web应用中如何通过JSP API获取不同类型的路径,包括请求URL、请求URI、上下文路径及Servlet路径等,并展示了它们在实际场景中的区别。

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

获取路径方式的区别  

tomcat配置自动加载的根路径:<Context path="/" docBase="E:\Work\ad91_src\finance\WebRoot"  reloadable="true" debug="0"/>

JSP页面代码:

<%
String url = request.getRequestURL().toString();
String uri = request.getRequestURI();
String servletPath = request.getServletPath();
String contextPath = request.getContextPath();
%>
url:<%=url %></br>
uri:<%=uri %></br>
servletPath :<%=servletPath %></br>
contextPath :<%=contextPath %>

JSP页面输出内容:

url:http://localhost:8080/admin/fa/contract/test.jsp
uri:/admin/fa/contract/test.jsp
servletPath :/admin/fa/contract/test.jsp
contextPath :

如果tomcat不配置自动加载的情况:

例子

假定你的工程名称为finance,你在浏览器中输入请求路径:

http://localhost:8080/finance/pages/test.jsp

JSP页面输出内容:

url:http://localhost:8080/finance/pages/test.jsp
uri:/finance/pages/test.jsp
servletPath :/pages/test.jsp
contextPath :/finance

request.getRealPath("/")); 

JSP servlet API提供了getRealPath(path)方法,返回给定虚拟路径的真实路径,如果转换错误,则返回null。

打印结果:D:/Tomcat5.0/webapps/finance/test

结论:

request.getRequestURI() : 项目下的路径
request.getRequestURL(): 互联网络下的唯一路径
request.getContextPath() :项目路径(配置tomcat的话就是配置路径)。

request.getServletPath() :servlet上下文,跟uri比较没有项目名称

request。getRealPath("path"):返回虚拟路径的真是路径。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值