ssm中filter拦截器如何设置不拦截静态资源 提供相关代码
时间: 2023-06-01 14:07:47 浏览: 119
:如果您使用的是 SpringMVC 框架,您可以在 `spring-mvc.xml` 配置文件中继承 `WebMvcConfigurerAdapter` 类并覆盖其 `configureDefaultServletHandling` 方法来解决这个问题。具体代码如下:
```
@Configuration
@EnableWebMvc
public class MvcConfig extends WebMvcConfigurerAdapter {
@Override
public void configureDefaultServletHandling(DefaultServletHandlerConfigurer configurer) {
configurer.enable();
}
}
```
它会将所有的请求都发送到默认的 Servlet 上,而不是由 `DispatcherServlet` 来处理,从而避免了 filter 拦截静态资源的问题。
相关问题
ssm项目配置什么能直接访问图片不被拦截
在SSM项目中,如果需要直接访问图片而不被拦截,需要进行如下配置:
1.在web.xml文件中配置过滤器,将图片等静态资源排除在过滤器之外,例如:
```
<filter>
<filter-name>MyFilter</filter-name>
<filter-class>com.xxx.MyFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>MyFilter</filter-name>
<url-pattern>/api/*</url-pattern>
</filter-mapping>
```
2.在Spring MVC配置文件中配置静态资源处理器,例如:
```
<mvc:resources mapping="/static/**" location="/static/"/>
```
其中,mapping表示访问的路径前缀,location表示静态资源存放的路径。
3.在Spring Security配置文件中配置放行规则,例如:
```
<http>
<intercept-url pattern="/static/**" access="permitAll"/>
<intercept-url pattern="/api/**" access="hasRole('USER')"/>
...
</http>
```
其中,pattern表示需要放行的路径,access表示访问该路径所需要的权限。
通过以上配置,就可以在SSM项目中直接访问图片而不被拦截。
阅读全文