0.几种常见的路径:
http://localhost:8080/myProject/servlet/testServlet
servlet/testServlet
/servlet/testServlet
那么看到这些应该怎么判断呢?
1.首先区分路径的分类
路径分两种:相对路径,绝对路径。
绝对路径:带有完整URL地址如:http://localhost:8080/myProject/servlet/testServlet 或者 路径最前面用/开头
相对路径:类似:servlet/testServlet
2.对于绝对路径:
完整URL地址的不用说,大家都懂,直接访问。
对于路径前面有斜线开头的:
如果是服务器中需要使用这样的路径,就是取得服务器当前Web应用为开始。
如果是浏览器中使用了这样的路径,就是取得服务器的地址为开始。
例子:
假设有一台服务器,地址是:192.168.1.33,端口号是8080,里面部署了3个Web项目,分别是pro1,pro2,pro3。
那么在pro1中有一个servlet使用了这样的路径"/servlet/ser1",那么服务器实际上要去访问的是在访问的路径
前面拼接上自己的地址,端口号和应用名也就是:http://192.168.1.33:8080/pro1/servlet/ser1 。
如果是浏览器使用了这样的路径"/servlet/ser1"就只能访问到:http://192.168.1.33:8080/servlet/ser1 ,
很明显,会出404。那么如果浏览器想获得自己需要的资源路径就要加上应用名:"/pro1/servlet/ser1",这样才可以。
3.对于相对路径:
相对路径就很简单了,比如有这样的一个资源结构
http://192.168.1.33:8080/pro1/servlet/----------|
|---login.do |--ser1
|--ser2
|--ser3
如果我是在ser1中通过相对路径访问ser2,路径只需要写成“ser2”
如果我是在ser1中通过相对路径访问ser3,路径只需要写成“ser3”
如果我是在login.do中通过相对路径访问ser2,路径只需要写成“servlet/ser2”
总结一下也就是相对路径是相对于资源本身位置所在路径为开始的相对路径。