文档章节

JavaEE细节问题01——访问web资源的相对路径和绝对路径

Lunqi
 Lunqi
发布于 2015/08/14 23:09
字数 575
阅读 543
收藏 5

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”


总结一下也就是相对路径是相对于资源本身位置所在路径为开始的相对路径。



© 著作权归作者所有

共有 人打赏支持
Lunqi

Lunqi

粉丝 39
博文 35
码字总数 29786
作品 1
杭州
程序员
将J2EE程序从weblogic移植到JBoss上

前几天将一个原来的项目从weblogic上移植到了JBoss上,于是就将移植中出现的问题以及需要完成的工作记录了下来,以供大家参考。 1、上下文(Context)的获得方式不同,下面分别是两者获得上下...

大_于
2014/05/28
0
0
初识TomCat之2——TomCat介绍及安装

一、TomCat介绍 通过之前的介绍,Tomcat与JDK共同构成了一个Web Container容器,它在JDK的基础上提供了Servlet和JSP组件,可以接受来自客户端的动态请求,整个TomCat的核心组件由Catalina、C...

qiao645
06/29
0
0
RequestDispatcher

一、RequestDispatcher RequestDispatcher实例对象是由Servlet引擎创建的,它用于包装一个要被其他资源调用的资源,例如Servlet、HTML文件,JSP文件等,并可以通过其中的方法将客户端的请求转...

KYZGJ
2014/04/13
0
0
(JavaEE-04)Servlet

Servlet Servlet是sun公司提供的一套专门用于开发动态web资源的技术 sun公司在ServletAPI中提供了一个servlet接口,如果需我们需要开发一个动态web资源,需要两步: * 编写一个Java类,实现s...

_-Leon-_
2014/06/15
0
0
SSI 在TOMCAT5与TOMCAT6中的配置 (转)

1.简介: SSI全称(Server Side Includes)是在HTML静态页面中使用的指令,当页面在服务端执行的时候是可以进行服务端解析的。这种方式可以让我们在存在的HTML页面里面分 块动态生成内容而不...

肥皂泡2
2011/07/02
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

获取多个集合列表的笛卡尔积

获取多个集合笛卡尔积 电商中典型业务场景:商品搜索 单属性属性值之间为并查询 不同属性的属性值之间查询为与查询 import java.util.ArrayList;import java.util.List;/** * Created w...

键走偏锋
13分钟前
0
0
echarts 迁移地图 控制鼠标缩放大小比例

在网上找了好久没有找到解决方式,还是重新看了一下文档,终于找到的解决方案, zoom:1, //默认显示级别 scaleLimit:{min:1,max:3}, // 缩放级别 echarts 文档-配置项链接 http://echarts.b...

心驰
16分钟前
0
0
Boot2Docker ISO is out-of-date,

Boot2Docker ISO is out-of-date, downloading the latest release. 使用docker-machine时无法更新Boot2Docker ISO导致创建vm machine失败 解决方法:关闭网络,创建好之后再开启...

writeademo
24分钟前
0
0
在 Tomcat 中设置 Tapestry 框架的 html 热加载

如果开发中使用到了 Tapestry 这个框架,如果事先没有设置过的话,开发的时候 html 是不会热加载的,也就是说修改了 html 文件,不能刷新浏览器后立马看到修改完的效果,必须先重新启动应用服...

LeoXu
46分钟前
0
0
【微服务】开启巨石应用到微服务的探索

背景 在过去的一年时间里,我一直在从事一件事情,将现有的单体应用(巨石应用)向微服务改造。 接下来,将持续整理一些在微服务路上的学习与成长。 为什么要做微服务 单体应用,开发、部署简...

艳沐石
56分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部