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

为什么Spring Boot Web安全配置后访问自定义登录页返回404错误

问题排查方案
  • 配置类未被Spring扫描到(最高发原因)
    Spring Boot 默认只会扫描启动类(标注@SpringBootApplication的类)所在的包以及所有子包下的组件。你的MvcConfig和WebSecurityConfig都放在config包下,如果启动类的包路径和config包平级,或者启动类没有放在包含config的上层包中,这两个配置类就不会生效:
    • 比如启动类放在com.example.demo包下,把config包移到com.example.demo下即可;
    • 也可以手动在启动类上加@ComponentScan(basePackages = "config")注解强制扫描配置类所在包。
  • 登录视图文件位置错误
    你引入了thymeleaf模板引擎,/login映射的视图名为login,对应的模板文件必须放在src/main/resources/templates/目录下,且命名为login.html:
    • 不要放在static目录下(static目录放静态资源不会走模板解析);
    • 注意文件名大小写和后缀名是否正确,Windows环境对大小写不敏感,Linux/macOS环境大小写不匹配会直接返回404。
  • 方法签名缺失@Override注解(偶发)
    你在MvcConfig类中实现WebMvcConfigurer接口的addViewControllers方法没有加@Override注解,虽然语法上没有问题,但如果JDK版本或者Spring版本兼容问题导致方法没有被正确重写,也会导致视图映射不生效,给方法加上@Override注解即可。
  • 配置了上下文访问路径
    如果你的application.properties或者application.yml中配置了server.servlet.context-path属性,访问登录页时需要加上对应的前缀,比如配置了server.servlet.context-path=/myapp,访问地址应为http://localhost:8080/myapp/login。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 13:54:03