【发布时间】:2011-05-21 14:57:47
【问题描述】:
我有一个与 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。
我还希望我的 serverlet 响应 http://localhost:<port>/MyApp/HelloWorld/。我怎样才能达到这个效果?我正在使用 NetBeans 进行开发,但它不允许我放置以 / 结尾的模式。
【问题讨论】:
-
它不是已经工作了吗?
-
如果你把尾随的“/”放在一起会发生什么?
-
如果我在没有netbeans前端的情况下编辑xml并部署项目,图像、css和js没有加载O.o.
-
如果我在没有netbeans前端的情况下编辑xml并部署项目,css、js、图像等不会加载O.o。正如所有人所说,解决方案是使用语法 /*。有了这个,你可以调用 .../HelloWorld 和 .../HelloWorld/。如果我写 .../HelloWorld/foo 调用相同的 servlet(就像在这个页面中一样)。如果你不想要这种效果,你必须使用 HttpServletRequest.getPathInfo() 方法,正如精英绅士所说的那样。如果结果与“/”不同,则重定向到一个jsp以显示错误(未找到)。
标签: java tomcat servlets netbeans web.xml