请求路径由哪些部分组成

请求路径由两部分构成:资源路径与资源名称。即

         请求路径 = 资源路径 + 资源名称

资源路径与资源名称的分水岭为:请求路径中的最后一个斜杠。斜杠前的部分称为资源路径,斜杠后的部分称为资源名称。例如:

 请求路径:  http://localhost:8888/01-primary/some.do

 资源路径:  http://localhost:8888/01-primary

资源名称:  some.do

根据是否可以唯一的定位一个资源标准,可以将路径划分为两类:绝对路径与相对路径。

绝对路径:可以唯一的定位一个资源。在Web应用中,一般情况下,以请求协议开头的路径为绝对路径。绝对路径以URL形式表示。

相对路径:仅仅依靠此路径,无法唯一的定位一个资源。但若将其再与一个参照路径相结合后,就可以转换为一个可以定位资源的绝对路径,这样的路径,称为相对路径。在Web应用中,一般情况下,不以请求协议开头的路径为相对路径。相对路径以URI形式表示。

 转换关系:     绝对路径 = 参照路径 + 相对路径


以相对路径是否以斜杠开头划分,可以将相对路径划分为两类:以斜杠开头的相对路径,与不以斜杠开头的相对路径。

         对于以斜杠开头的相对路径,再根据路径出现的位置的不同,可以划分为两类:前台路径与后台路径。

前台路径:出现在HTML文件,及JSP文件的静态部分中的以斜杠开头的相对路径,称为前台路径。例如,出现在<img/>的src中的路径、<a/>的href中的路径、<form/>的action中的路径、<script/>的src等前台路径的解析者是浏览器。

后台路径:出现在Java代码、JSP文件的动态部分、及XML、Properties等配置文件中的以斜杠开头的相对路径,称为后台路径。后台路径的解析者是服务器。

不以斜杠开头的相对路径,其路径解析者,根据路径出现的位置不同,分别可以是浏览器或服务器。


不同的路径解析者,对同一个相对路径的解析结果是不同的。当然,所谓解析结果,指的是将相对路径转换为的最终的绝对路径。由于绝对路径 = 参照路径 + 相对路径,所以这里的解析规则,就是指为这个相对路径匹配上一个怎样的对照路径。或者说,我们要学习的重点是,浏览器、服务器对相对路径所匹配的参照路径是谁。

前台路径:其参照路径为当前Web服务器的根。

后台路径:其参照路径为当前Web应用的根。

不以斜杠开头的相对路径:其参照路径为当前请求路径的资源路径

http://localhost:8888/01-primary/xxx/some.do

http://localhost:8888  当前Web服务器的根。
http://localhost:8888/01-primary  Web应用的根
http://localhost:8888/01-primary/xxx/ /资源路径

资源定义路径:绝对路径

资源请求路径:参照路径+相对路径

只有当资源定义路径=资源请求路径  才能访问资源。


我的总结:jsp及静态页面不加"/"       java及配置文件中加"/"

特例

Response的sendRedirect()方法中的以斜杠开头的相对路径,按照前面的定义,其为后台路径。后台路径的参照路径应为当前WEB应用的根,但实际却不是,而是当前WEB服务器的根。

webconent 下写jsp登录页面跳转 用"/",    ${pageContext.request.contextPath}"/  "
 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值