当客户端试图查找servlet的时候,它将搜索某个特定的路径,到达目的地。路径本身,即请求URI,通常由三个重要部分组成:
Request URI = contextPath + servletPath +pathinfo
contextPath:
上下文路径是路径的第一部分。它指定servlet驻留的上下文。在单个的Java Virtual Maching中,可能运行多个Web应用程序。对于每个Web应用程序,都有一个上下文。Web应用程序类都将共享同一个上下文。
public String getContextPath()
上下文路径的规则如下:
该路径以斜杠/开,但不以斜杠/结尾
如果上下文位于Web服务器名字空间的基址处,那么该路径就是一个空字符串,即“”
Servlet路径:
servlet路径指定与真正的servlet关联的映射目录名。这通常是由映射的servlet名或者是映射的servlet路径组成,除此之外没有别的。
public String getServletPath()
路径信息:
路径信息由servlet路径和查询字符串之间的额外信息组成。
public String getPathInfo()
路径信息的规则为:
如果路径信息不存在,该方法将返回null
例子: 路径元素:
/games/tictactoe/welcome.html contextpath: /games
servletpath: /tictactoe
pathinfo: /welcome.html
/games/registration/StartServlet contextpath: /games
servletpath: /registration/StartServlet
pathinfo: null
/games/Search/1234?query=Yamaha+R6 contextpath: /games
servletpath: /Search
pathinfo: /1234