Servlet:获取查询字符串但 return 为空

Servlet: get query string but just return empty

我正在为我的 Web 项目使用中介设计模式。有一个前端控制器负责处理所有请求,并根据每个请求找到合适的 servlet。在 web.xml 中,我尝试这样做:

<servlet-mapping>
         <servlet-name>DispatcherServlet</servlet-name>
        <url-pattern>/*</url-pattern>
</servlet-mapping>

然后像 localhost:8080/project_name/a/b/c/d.jsp 这样的请求我想获取字符串 a/b/c/d.jsp 但是当我使用: request.getServletPath() 我得到空字符串。

谢谢:)

您应该改用 getPathInfo() 方法

如果用于处理此请求的 servlet 使用“/*”模式匹配,

getServletPath() 方法将 return 一个空字符串 ("")。

getPathInfo() 方法 returns 路径信息在 servlet 路径之后但在查询字符串之前,并将以“/”字符开头。