第一种:站点根目录下绝对路径的方式
假设我们项目的URL为:http://172.0.0.1/TestProject/index.jsp。
为了在以后更改工程名时也能正确访问,我们需要加 <%basePath=request.getContextPath() %>
如:<script src="<%=request.getContextPath() %> /js/common.js"></script>
写<%=request.getContextPath() %>太麻烦,可以在每一个jsp文件顶部加入以下内容后,
- <%
- String path = request.getContextPath();
- String basePath = request.getScheme()+"://" +request.getServerName()+":"+request.getServerPort()+path+"/";
- %>
- <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"/>,这两种方式都是可以的。