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

在编写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中使用

(二)方法二: 利用html中的 标签(推荐) 
(推荐使用指定basePath

就等于 



你可能感兴趣的:(jsp中的basePath和path (绝对路径 相对路径))