相对路径和绝对路径
其实绝对路径与相对路径的不同处,运用以根目录为参考点的路径描述方式才会被称之为绝对路径。"."--代表目前所在的目录。".."--代表上一层目录。"/"--代表根目录。
我们用以一个表格来说明在上图的情况下,某文件引用另一文件时,所应使用的相对路径与绝对路径。
|
引用者
|
被引用者
|
相对路径
|
绝对路径
|
| Ref1.htm | BeRef1.gif | ../SubDir2/BeRef1.gif | /Dir1/SubDir2/BeRef1.gif |
| Ref2.htm | BeRef1.gif | ../../Dir1/SubDir2/ BeRef1.gif | /Dir1/SubDir2/ BeRef1.gif |
| Ref1.htm | BeRef2.htm | ../../Dir2/ BeRef2.htm | /Dir2/BeRef2.htm |
| Ref2.htm | BeRef2.htm | ../BeRef2.htm | /Dir2/BeRef2.htm |
相对路径的使用:
1.服务端的"/"根目录是http://localhost8080:/test/
例子:我们通过一个servlet转发到一个jsp,或者重定向,其路径是这样的
当前路径:/login.do 当前路径:/login.do
目标路径:/WEB-INF/jsp/s.jsp 目标路径:/check.do
转发相对地址:WEB-INF/jsp/s.jsp 重定向相对地址:check.do
2.浏览器端解析地址:"/"根目录是http://localhost8080:/
在项目中要看tomcat的部署后的文件地址,当我们在一个web-inf下的jsp中需要导入css等样式,注意这个jsp是通过访问servlet得到的,就是说这个jsp的地址是/fingcost.do。
例子:jsp中导入css html image等
当前jsp地址:http://.../test/login.do
引入css:http://.../test/css/j.css
相对地址:css/j/css
防止路径变化,最好写成
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; %>
<head><%=basePath%></head>这样页面所有的连接都会基于这个basePahth,
<link href="css/j.css"> 这样当这个jsp地址改变也不会影响css,reques得到的就是/test,
这样整个页面都是基于这个path地址

浙公网安备 33010602011771号