使用 Struts2 提供静态内容:Tomcat 错误 404
使用 Struts2,我找不到提供静态 CSS 的方法:-/新手问题,但我在互联网上找不到任何答案:
CSS 文件在我的 WAR 文件中是 static/styles.css
。
当我请求 http://server/myapp/static/styles.css
时,Tomcat 回复 404
但如果我将 styles.css
放在 WAR 的根目录下,它就会起作用请求 http://server/myapp/styles.css
我尝试将以下内容添加到唯一包中的 struts.xml
中,但仍然是 404:
<action name="/static/*">
<result>/static/{1}</result>
</action>
或者作为第二个包:
<package name="static" extends="struts-default" namespace="/static">
<action name="/static/*">
<result>/static/{1}</result>
</action>
</package>
With Struts2 I can't find a way to serve a static CSS :-/ Newbie question but I could not find any answer on the Internet:
The CSS file is static/styles.css
in my WAR file.
Tomcat replies with 404 when I request http://server/myapp/static/styles.css
But it works if I put styles.css
at the root of the WAR and request http://server/myapp/styles.css
I tried adding the following to my struts.xml
in the only package but still 404:
<action name="/static/*">
<result>/static/{1}</result>
</action>
Or as a second package:
<package name="static" extends="struts-default" namespace="/static">
<action name="/static/*">
<result>/static/{1}</result>
</action>
</package>
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
这是一个非常古老的问题,但由于它没有得到解答,而且我正在努力解决同样的问题,我确信其他人可能会从解决方案中受益。
默认情况下,Struts 仅提供来自 JAR 的静态内容,而不提供来自 JAR 外部子目录的静态内容。因此,您需要将其添加到 struts.xml 中:
这可以防止“static”文件夹中的任何内容被作为操作处理。
This is a very old question, but since it wasn't answered and I was struggling with the same problem, I'm sure others might benefit from a solution.
Struts serves static content by default from JARs only, but not from subdirectories outside the JARs. So you need to add this to your struts.xml:
That prevents anything in the "static" folder from being handled as an action.
您不需要包含任何内容(操作或包)。 Struts2 默认提供静态内容。
检查部署您的 war 文件后,资源 style.css 是否存在于您认为的路径中。
You don't need to include anything (action or package). Struts2 serves static content by default.
Check if after deploying your war file, the resource style.css exists in the path you think.