【发布时间】:2011-12-12 17:40:27
【问题描述】:
我在 Tomcat 7.0.22(Java 1.6,MacOS Lion)中部署了一个 .war 存档。这场战争被称为“myapp.war”,因此 Tomcat 服务于http://localhost/myapp(在 /webapps/myapp 中扩展了战争)。这是通常的行为
访问与目录对应的 url 时,应附加 "/" 。为了使静态文件(.css、.js..)正常工作,这是必需的,但是在我的网站上,虽然使用 Tomcat 附带的示例站点,这可以工作(例如访问http://127.0.0.1:8080/examples 突然重新映射到http://127.0.0.1:8080/examples/) tomcat 没有添加任何“/”,从而破坏了对静态文件的搜索。当手动调用localhost:8080/myapp/(
应该怎么办?请注意,我没有触及任何 Tomcat 设置,我只是在试验直接从 Apache 的 zip 文件中输出的内容!
谢谢
【问题讨论】:
-
你是说
http://localhost/myapp不会生成302重定向到http://localhost/myapp/吗? -
是的,完全正确。感谢您的关注
-
嗨,开心果!
.war文件大致是一个重命名的 zip 文件。考虑到这一点,如果您打开它并检查其中WEB-INF/web.xml文件上的 URL 映射,您可以试验它的功能。 This post about trailing slash 提供选项,当您发现那里有什么时,您可以做什么! -
我认为您需要发布更多信息,最好是您的 web.xml 和/或 @Servlet 映射。您是否删除了 index.jsp?尝试在不添加任何 servlet 的情况下创建 .war 并查看是否可行(保留 index.jsp 不变)。
标签: tomcat