servelt中请求路径的组成部分(Request Path Elements)

详情请参考:https://jakarta.ee/specifications/servlet/6.0/jakarta-servlet-spec-6.0.html#request-path-elements

请求路径包含下面几部分:

  • Context Path:与ServletContext 关联的路径前缀。如果这个上下文是默认的上下文(以web服务器 URL命名空间的基作为作为根),Context Path是空字符串;否则,以"/“字符作为开头,但是结尾不包含”/"字符。
  • Servlet Path:直接对应servelt-url映射的路径部分,以"/“字符作为开头;但当请求是以”/*“或者”"模式被匹配到的时候,Servlet Path是空字符串。
  • PathInfo:请求路径中不是Context Path、Servlet Path的部分。当没有额外路径的时候,它的值是null;否则就是以"/"开头的字符串。

jakarta.servlet.http.HttpServletRequest中有对应的方法访问上面路径的各部分:

  • getContextPath
  • getServletPath
  • getPathInfo

注意:
requestURI 和路径的各部分除了URL编码造成的不同以外,下面成立:
requestURI = contextPath + servletPath + pathInfo

Servlet规范中给出的举例:
servelt中请求路径的组成部分(Request Path Elements)_第1张图片
servelt中请求路径的组成部分(Request Path Elements)_第2张图片

你可能感兴趣的:(servelt,请求路径)