绝对路径
在web项目中绝对路径是以 / 开始相对路径
在web项目中相对路径的开始符号(3种): ./ ../ (不加前缀)
1.无页面跳转或客户端重定向的情况下
注:客户端重定向时的路径于客户端相同
客户端: (客户端解析路径最左边的 / 代表的是端口号后面的 / )
绝对路径:端口号后面
http://ip:port/
相对路径:相对于当前文件的路径
在html页面添加base标签之后,这个页面中的所有相对路径(绝对路径不变),就不再是相对于地址栏中的路径了,而是相对于base标签中设置的路径
<base href="http://127.0.0.1:8081/jd1720_servlet/" />
base标签对css的link标签也有效
服务器端:(服务器端解析路径最左边的 / 代表的是项目名后面的 / )
绝对路径:项目名称后面
相对路径:相对与当前servlet的路径
xml配置文件:
<url-pattern>属性只能写绝对路径(以./或../或直接写路径启动服务器会报错)
此时的绝对路径是相对于http://ip:port/项目名/(即项目名称后)来说的
2.页面跳转的情况下
绝对路径不变(同上)
超链接中的这个路径就是一个相对路径,相对于当前路径,当前路径指的是浏览器地址栏中这个时候的路径
web页面中的相对路径是相对于当前的url中的路径。
例1:访问
http://127.0.0.1:8081/jd1720_servlet/p/path1Servlet内部跳转到
http://127.0.0.1:8081/jd1720_servlet/path2Servlet再内部跳转到
http://127.0.0.1:8081/jd1720_servlet/path/path1.html超链接转到
http://127.0.0.1:8081/jd1720_servlet/path/path/path2.html
各个对象中填写的相对路径
path1Servlet: "../path2Servlet"
path2Servlet: "./path/path1.html"
path1.html:"../path/path/path2.html"(因为是两次内部跳转,所以此时浏览器的地址仍为http://127.0.0.1:8081/jd1720_servlet/p/path1Servlet)相对路径的基准为http://127.0.0.1:8081/jd1720_servlet/p
例2:访问
http://127.0.0.1:8081/jd1720_servlet/p/path1Servlet客户端重定向到
http://127.0.0.1:8081/jd1720_servlet/path2Servlet客户端重定向到
http://127.0.0.1:8081/jd1720_servlet/path/path1.html超链接转到
http://127.0.0.1:8081/jd1720_servlet/path/path/path2.html
各个对象中填写的相对路径
path1Servlet: "../path2Servlet"(此处若写绝对路径应为“/jd1720_servlet/path2Servlet”--与客户端的相同)
path2Servlet: "./path/path1.html"
path1.html:"./path/path2.html"(此时浏览器的地址为http://localhost:8081/jd1720_servlet/path/path1.html相对路径的基准为http://127.0.0.1:8081/jd1720_servlet/path