gpt4 book ai didi

java - 查找在多个 servlet 映射场景中使用的匹配 url 模式

转载 作者:行者123 更新时间:2023-12-02 11:07:21 24 4
gpt4 key购买 nike

假设我有一个 Java servlet,我想将其用于两个(或更多)不同的 url 模式:

  <servlet-mapping>
<servlet-name>MyServlet</servlet-name>
<url-pattern>/this/exact/path</url-pattern>
</servlet-mapping>

<servlet-mapping>
<servlet-name>MyServlet</servlet-name>
<url-pattern>/that/prefix/path/*</url-pattern>
</servlet-mapping>

<servlet-mapping>
<servlet-name>MyServlet</servlet-name>
<url-pattern>/yet/another/exact/path</url-pattern>
</servlet-mapping>

MyServlet 将被调用用于以下任一情况:

/this/exact/path
/yet/another/exact/path
/that/prefix/path/param1
/that/prefix/path/param2.html

我想知道的是如何从代码内部判断请求匹配的路径是什么。 (即,如果向 /myapp/yet/another/exact/path 发出请求,我想获取字符串 /yet/another/exact/path )。

我还想应该有一种方法来区分/that/prefix/path/和与 * 匹配的内容,如果有人能告诉我应该如何做,那就太好了。

我试过String path = req.getRequestURI()但它也返回/myapp 部分。

最佳答案

HttpServletRequest.getServletPath() 返回不包括 /* 的 URL 模式,HttpServletRequest.getPathInfo() 返回与 匹配的部分>/* (或 null 表示完全匹配)。

关于java - 查找在多个 servlet 映射场景中使用的匹配 url 模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10698264/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com