struts2框架下Tomcat不能加载css、js和图片等静态资源的解决办法

来源:互联网 发布:网络音乐选秀节目 编辑:程序博客网 时间:2024/04/29 04:25

最近在做一个Struts2框架的简单项目,但是发现图片、css、js等静态资源均无法访问,且排除了路径问题,最后发现是Struts2框架的过滤器拦截了所有请求,导致静态资源无法访问。

web.xml代码:

<display-name>DBDesign</display-name>    <welcome-file-list>        <welcome-file>/login.jsp</welcome-file>    </welcome-file-list>  <filter>    <filter-name>struts2</filter-name>    <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>  </filter>  <filter-mapping>    <filter-name>struts2</filter-name>    <url-pattern>/*</url-pattern>  </filter-mapping></web-app>

<url-pattern>/*</url-pattern>代表拦截所有请求,即静态资源也被拦截了。

解决办法
打开struts.xml文件,在头部<struts>标签下添加如下代码:

<constant name="struts.action.excludePattern" value="/static/.*?" /><!-- /static 为存放静态资源的路径,意为不拦截对此文件夹下文件的请求 -->

现在问题就可以解决了。

如果是只有图片不能显示,那可能是路径中带有中文,或者图片名是中文,可以改为英文或者修改tomcat配置,建议修改图片名,路径采用相对路径。

1 0
原创粉丝点击