我有一个与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则称为。
http://localhost:<port>/MyApp/HelloWorld
HelloWorldServlet
我也想让我的发let回应http://localhost:<port>/MyApp/HelloWorld/。我怎样才能达到这种效果?我正在使用NetBeans进行开发,但不允许我以模式结尾/。
http://localhost:<port>/MyApp/HelloWorld/
/
在您的通配符上添加通配符后 <url-pattern>
<url-pattern>
<url-pattern>/HelloWorld/*</url-pattern>
您可以使用来获得与URL关联的额外路径HttpServletRequest.getPathInfo()。
HttpServletRequest.getPathInfo()
例如
http://localhost:<port>/MyApp/HelloWorld/one/
结果将是
/one/
从JavaDoc:
返回与客户端发出此请求时发送的URL关联的任何其他路径信息。额外的路径信息在servlet路径之后,但在查询字符串之前,并以“ /”字符开头。