SpringMVC配置了拦截器(interceptors)却显示不出css、js样式的解决办法

首先因为在web.xml里面配置了

1
2
3
4
<filter-mapping>
    <filter-name>characterEncodingFilter</filter-name>
    <url-pattern>/*</url-pattern>
  </filter-mapping>

  导致所有的连接都会经过DispatcherServlet,会过滤掉css、js等样式,导致页面无法渲染成功

因此需要在springmvc配置文件中放行静态资源

1
2
3
4
5
6
7
<!--过滤静态资源-->
    <mvc:resources mapping="/common/**" location="/common/"/>
    <mvc:resources mapping="/css/**" location="/css/"/>
    <mvc:resources mapping="/images/**" location="/images/"/>
    <mvc:resources mapping="/js/**" location="/js/"/>
    <mvc:resources mapping="/json/**" location="/json/"/>
    <mvc:resources mapping="/jsplug/**" location="/jsplug/"/>

  

如果配置了拦截器,在拦截器中放行静态资源

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<!--配置拦截器-->
   <mvc:interceptors>
       <mvc:interceptor>
           <!-- 拦截所有mvc控制器 -->
           <mvc:mapping path="/**"/>
           <!-- mvc:exclude-mapping是另外一种拦截,它可以在你后来的测试中对某个页面进行不拦截,这样就不用在
               LoginInterceptor的preHandler方法里面获取不拦截的请求uri地址了(优选) -->
           <!--以下资源不进行拦截-->
           <mvc:exclude-mapping path="/user/toLogin" />
           <mvc:exclude-mapping path="/user/login" />
           <mvc:exclude-mapping path="/common/**"/>
           <mvc:exclude-mapping path="/css/**"/>
           <mvc:exclude-mapping path="/images/**"/>
           <mvc:exclude-mapping path="/js/**"/>
           <mvc:exclude-mapping path="/json/**"/>
           <mvc:exclude-mapping path="/jsplug/**"/>
           <bean class="com.lintrondata.fyds.interceptor.LoginInterceptor"></bean>
       </mvc:interceptor>
   </mvc:interceptors>

  

 

posted @   donleo123  阅读(1984)  评论(0编辑  收藏  举报
编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
点击右上角即可分享
微信分享提示