javax.servlet.ServletException:过滤器执行引发异常

Posted

技术标签:

【中文标题】javax.servlet.ServletException:过滤器执行引发异常【英文标题】:javax.servlet.ServletException: Filter execution threw an exception 【发布时间】:2018-01-02 22:21:51 【问题描述】:

我正在使用 Spring 版本 (4.2.1.RELEASE) 和 Spring 安全版本 (4.0.3.RELEASE)。由于以下代码部分而发生上述异常。

<filter>
    <filter-name>springSecurityFilterChain</filter-name>
    <filter-class>
        org.springframework.web.filter.DelegatingFilterProxy
    </filter-class>
</filter>

<filter-mapping>
    <filter-name>springSecurityFilterChain</filter-name>
    <url-pattern>/*</url-pattern>
</filter-mapping>

我发现这个异常的原因是来自以下链接的spring和spring security版本的兼容性问题

HTTP Status 500 - Filter execution threw an exception - doFilter and invokeDelegate repeated

但这对我不起作用。我再次在这个项目中使用休眠。如果我更改 spring 版本,那么 hibernate 会发生错误。

这些是我的依赖项

<spring.version>4.2.1.RELEASE</spring.version>
<security.version>4.0.3.RELEASE</security.version>
<hibernate.version>4.3.5.Final</hibernate.version>
<jdk.version>1.7</jdk.version>
<org.aspectj-version>1.7.4</org.aspectj-version>
<springsecurityoauth2.version>2.0.10.RELEASE</springsecurityoauth2.version>

非常感谢您的帮助

【问题讨论】:

【参考方案1】:

我终于找到了问题所在。抛出异常是因为根据我的意见,下面的代码作为循环运行。

我把这段代码改成

<filter-mapping>
    <filter-name>springSecurityFilterChain</filter-name>
    <url-pattern>/*</url-pattern>
</filter-mapping>

这个

<filter-mapping>
    <filter-name>springSecurityFilterChain</filter-name>
    <url-pattern>/user/*</url-pattern>
</filter-mapping>

这解决了我的问题。

【讨论】:

以上是关于javax.servlet.ServletException:过滤器执行引发异常的主要内容,如果未能解决你的问题,请参考以下文章