Servlet映射:具有尾部斜杠的URL的url-pattern

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

 HelloWorldServlet test.HelloWorldServlet   HelloWorldServlet /HelloWorld  

如果我访问http://localhost:/MyApp/HelloWorld ,则调用servlet HelloWorldServlet

我还希望我的servelet响应http://localhost:/MyApp/HelloWorld/ 。 我怎样才能达到这个效果? 我正在使用NetBeans进行开发,但它不允许我使用/结束模式。

上添加通配符后

 /HelloWorld/* 

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

例如

http://localhost:/MyApp/HelloWorld/one/

结果将是

 /one/ 

来自JavaDoc:

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

使用通配符。 您可以将转到特定URL的所有流量重定向到同一个servlet。 例如,您可以添加以下内容:

  HelloWorldServlet /HelloWorld/*  

这将使用斜杠将URL重定向到原始servlet。

有人想到 – 这会将任何内容重定向到这个URL模式到servlet。 如果您希望其他URL超过此URL,则应创建一个将重定向到正确URL的servlet(通过查看指定的URL)。 或者,您可以使用为您提供映射的框架。