第一种:站点根目录下绝对路径的方式

假设我们项目的URL为:http://172.0.0.1/TestProject/index.jsp。

 

为了在以后更改工程名时也能正确访问,我们需要加 <%basePath=request.getContextPath() %>
如:<script src="<%=request.getContextPath() %> /js/common.js"></script>

<%=request.getContextPath() %>太麻烦,可以在每一个jsp文件顶部加入以下内容后,

Java代码
  1. <%
  2. String path = request.getContextPath();
  3. String basePath = request.getScheme()+"://" +request.getServerName()+":"+request.getServerPort()+path+"/";
  4. %>
  5. <base href="<%=basePath%>" >

就可直接使用 <script src=" /js/common.js"></script>了。

测试表面:使用绝对路径时,href="<%=path%>/css/login.css"     <%=path%> 这个必须加

问题: <%=path%>如何不加??????

第二种:系统根目录下相对路径的访问方式

当在jsp中引入css/js时,如果其相对路径相对于当前jsp文件的,而当前的jsp的相对路径又是相对于系统目录http://172.0.0.1/TestProject/的。

所以在上面的引入方式中去掉“/”即可。即<link rel="stylesheet" type="text/css" href="css/style.css" /><script type="text/javascript" src="js/common.js"></script>。在jsp页面引入图片也是如此<img src="images/succeed.png"/>。如果一定要使用站点根目录的话就这样使用<img src="<%=request.getContextPath()%>/images/succeed.png"/>,这两种方式都是可以的。