一尘不染

Servlet映射:带有尾斜杠的URL的URL模式

tomcat

我有一个与servlet映射有关的问题。我在web.xml中具有以下内容:

<servlet>
    <servlet-name>HelloWorldServlet</servlet-name>
    <servlet-class>test.HelloWorldServlet</servlet-class>
</servlet>
<servlet-mapping>
    <servlet-name>HelloWorldServlet</servlet-name>
    <url-pattern>/HelloWorld</url-pattern>
</servlet-mapping>

如果我访问http://localhost:<port>/MyApp/HelloWorld该servlet,HelloWorldServlet则称为。

我也想让我的发let回应http://localhost:<port>/MyApp/HelloWorld/。我怎样才能达到这种效果?我正在使用NetBeans进行开发,但不允许我以模式结尾/


阅读 281

收藏
2020-06-16

共1个答案

一尘不染

在您的通配符上添加通配符后 <url-pattern>

<url-pattern>/HelloWorld/*</url-pattern>

您可以使用来获得与URL关联的额外路径HttpServletRequest.getPathInfo()

例如

http://localhost:<port>/MyApp/HelloWorld/one/

结果将是

/one/

从JavaDoc:

返回与客户端发出此请求时发送的URL关联的任何其他路径信息。额外的路径信息在servlet路径之后,但在查询字符串之前,并以“ /”字符开头。

2020-06-16