You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Spring Boot启动类加HiddenHttpMethodFilter的@Bean后报IllegalStateException如何解决?

错误原因
  • 缺失web依赖:项目没有引入spring-boot-starter-web启动器,Servlet相关的类(包括javax.servlet.Filter)都封装在这个启动器中,非web项目默认不会加载该类。
  • 版本不兼容:如果使用的是Spring Boot 3.x及以上版本,该版本全面迁移到Jakarta EE,原javax.servlet包全部替换为jakarta.servlet包,依赖javax.servlet.Filter的旧版本类会找不到对应类。
  • 冗余的手动Bean注册:Spring Boot 2.3+已经内置了HiddenHttpMethodFilter的自动配置,不需要手动编写@Bean注册,手动注册反而可能因为类路径匹配问题触发异常。
解决方案
  • 检查web启动器依赖是否引入
    Maven项目在pom.xml中添加如下配置:
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
</dependency>

Gradle项目在build.gradle中添加如下配置:

implementation 'org.springframework.boot:spring-boot-starter-web'
  • 删除你手动编写的HiddenHttpMethodFilter的@Bean注册代码,直接通过配置文件开启官方自动配置即可:
    application.properties格式:
spring.mvc.hiddenmethod.filter.enabled=true

application.yml格式:

spring:
  mvc:
    hiddenmethod:
      filter:
        enabled: true
  • 如果你使用Spring Boot 3.x版本,确保所有Spring相关组件的版本和Spring Boot版本匹配,不要手动指定低版本的spring-web等依赖,避免出现javax/jakarta包冲突。

内容的提问来源于stack exchange,提问作者runnerpaul

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.26 07:15:03