您的位置:首页 > Web前端 > JavaScript

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

2016-03-29 13:14 302 查看
在编写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" />
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: