jsp中的basePath和path (绝对路径 相对路径)

本文介绍了解决JSP项目中常见的404 URL错误的方法,推荐使用绝对路径来确保链接的稳定性,并提供了两种实用的技术方案。

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

在编写jsp的项目中经常会遇到404的url错误问题,现在规整下(发现其实都是路径的问题:):

所以建议在jsp中都统一使用绝对路径,因为jsp中的相对路径,不是相对于服务器上文件的路径,而是相对于client中地址栏中的地址,如果servlet或者struts在页面跳转的时候有改动(比如增加一个namespace等,那么jsp中所引用的相对路径都会发生改变,故建议使用绝对路径(以不变应万变)

(一)方法一:直接采用绝对路径 (不推荐) 

request.getContextPath(); 返回当前项目的相对服务器路径:/TestServlet
<%
     String path = request.getContextPath();
     String basePath = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort() + path + "/";
     pageContext.setAttribute("basePath", basePath);//只有这样才能被EL${pageScope.basePath }解析。

//否则只能用JSTL<%=basepath>
%>

在每个URL中使用<img src="${basePath}img/1.jpg" />

(二)方法二: 利用html中的 <base>标签(推荐) 
<base href="<%=basePath%>" />(推荐使用指定basePath

<img src="mg/1.jpg" /> 就等于 <img src="${basePath}img/1.jpg" />



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值