Java Servlet Specification : the request

3.5 请求路径元素(Request Path Elements)

指向服务请求的servlet的请求路径由许多重要部分组成。下面的元素从请求的URI路基获取并且通过请求对象提取:

  • Context Path :与此servlet所属的ServletContext关联的路径前缀。如果此上 下文是“默认”上下文,则根位于Web服务器的URL名称空间,此路径将为空字符串。否则,如果上下文不是在服务器名称空间的根目录,则路径以/字符开头,但不以/字符结尾。
  • Servlet Path :路径直接对应于处理此请求的映射的路径部分。此路径以’ / ‘字符开始,除非请求与’ /* '或" "模式匹配,在这种情况下,它是一个空字符串。
  • PathInfo : 请求路径中不属于上下文路径或Servlet路径的部分。如果没有额外的路径,值就是null;否则就是以“/”开头的字符串。

HttpServletRequest接口中存在以下方法来访问此信息:

  • getContextPath
  • getServletPath
  • getPathInfo

需要注意的是,在请求URI和路径部分之间,除了URL编码的方式不同,下面的等式应当总是成立:
requestURI = contextPath + servletPath + patnInfo

下面给出一些例子:
在这里插入图片描述

3.6 路径转换方法

API中有两个方便的方法,允许开发人员获得与特定路径等价的文件系统路径。这些方法有:

  • ServletContext.getRealPath
  • HttpServletRequest.getPathTranslated

getRealPath方法接受一个字符串参数,并返回路径所对应的本地文件系统中文件的字符串表示形式。getpathtranslate方法计算请求的实际路径。在servlet容器无法确定这些方法的有效文件路径的情况下,例如从存档中执行Web应用程序时,在本地不可访问的远程文件系统上,或者在数据库中,这些方法会返回null。只有当容器在调用getRealPath()时从其包含的JAR文件中解压缩了资源时,才必须考虑JAR文件的META-INF/ Resources目录中的资源,在这种情况下,必须返回解压缩的位置。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值