- 先检查SpringMVC.xml中的Filter和Spring-shiro.xml文件中的id是否一样.
- 出现没有找到这个bean,是因为在初始化web.xml文件的时候Filter的加载优先于Servlet.所以没有找到
- 可以再web.xml中配置以下,初始化的时候就一起加载了
-
<param-name>contextConfigLocation</param-name> <param-value>classpath:spring-shiro.xml,classpath:SpringMVC.xml</param-value>
<servlet>
<servlet-name>DispatcherServlet</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<!--初始化的是会读取这个文件 ,关联一个springmvc的配置文件:【servlet-name】-servlet.xml-->
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:spring-shiro.xml,classpath:SpringMVC.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>DispatcherServlet</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
这样就可以了…

当Shiro与SpringMVC整合时遇到找不到ShiroFilter的问题,通常是由于web.xml中Filter加载顺序导致。解决办法是在web.xml中配置Filter,确保在Servlet初始化时一同加载,从而解决找不到bean的问题。

2151

被折叠的 条评论
为什么被折叠?



