gpt4 book ai didi

Tomcat:查找目录时不附加尾随 "/"

转载 作者:行者123 更新时间:2023-11-28 21:50:15 24 4
gpt4 key购买 nike

我在 Tomcat 7.0.22(Java 1.6,MacOS Lion)中部署了一个 .war 存档。 war 称为“myapp.war”,因此 Tomcat 正在服务 http://localhost/myapp (在/webapps/myapp 中扩大了 war )。这是通常的行为

当访问一个目录对应的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 文件中产生的内容!

谢谢

最佳答案

首先你应该详细说明你的情况。正如@mico 所说,这是一个解决方案:

<filter>
<filter-name>Jersey Filter</filter-name>
<filter-class>com.sun.jersey.spi.container.servlet.ServletContainer</filter-class>
<init-param>
<param-name>com.sun.jersey.config.property.packages</param-name>
<param-value>your package name(s)</param-value>
</init-param>
<init-param>
<param-name>com.sun.jersey.config.property.WebPageContentRegex</param-name>
<param-value>.*\.jsp|.*\.css|.*\.png|.*\.js|.*\.gif|.*\.jpg</param-value>
</init-param>
</filter>

<filter-mapping>
<filter-name>Jersey Filter</filter-name>
<url-pattern>/*</url-pattern>
<dispatcher>REQUEST</dispatcher>
<dispatcher>FORWARD</dispatcher>
<dispatcher>INCLUDE</dispatcher>
</filter-mapping>

<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>

解决思路基于:

defining Jersey ServletContainer as a filter instead of a servlet

在这里你可以阅读更多:http://jersey.576304.n2.nabble.com/Tomcat-trailing-slashes-and-welcome-files-td4684494.html

Here表示:如果你有一个 '/*' 映射,那么 Tomcat 将不会重定向

还有一点:您应该查看 tomcat 如何记录您的请求并确定主要问题。

关于Tomcat:查找目录时不附加尾随 "/",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7852396/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com