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

Spring Boot+Web+Thymeleaf:Spring安全Web应用指南中遇循环视图路径错误

解决Spring Boot 2.0.1.RELEASE无安全验证Web应用访问/hello报错问题

嘿,我懂你现在的处境——跟着Spring官方的《保护Web应用》指南一步步搭基础Web应用,结果用2.0.1.RELEASE版本做完后,访问http://localhost:9191/hello时碰了壁,只看到半截错误日志。别着急,咱们先从几个常见的排查方向入手:

  • 先补全完整错误日志:你贴的日志只到[nio-9191-ex...,建议把完整的异常栈信息(包括异常类型、具体报错描述)发出来,比如是404找不到页面?还是500服务器内部错误?或者是权限相关的401/403?这对定位问题至关重要。

  • 检查依赖是否“偷偷”引入了Spring Security:Spring Boot 2.x的自动配置挺智能,但有时候会帮你默认引入一些你没主动加的依赖。你可以去看你的pom.xml(Maven)或者build.gradle(Gradle),确认有没有spring-boot-starter-security这个依赖——如果不小心带上了,默认会开启全局安全验证,访问/hello时会跳转到登录页或者直接返回权限错误,这可是新手常踩的坑。要是真有这个依赖,直接删掉就行;如果不想删,也可以在启动类上加上注解排除自动配置:

    @SpringBootApplication(exclude = {SecurityAutoConfiguration.class})
    public class YourApplication {
        public static void main(String[] args) {
            SpringApplication.run(YourApplication.class, args);
        }
    }
    
  • 核对控制器代码是否正确:确保你的控制器类加了@Controller注解,/hello的请求映射也没写错。比如正确的写法应该是这样:

    @Controller
    public class HelloController {
        @GetMapping("/hello")
        public String hello(Model model) {
            model.addAttribute("greeting", "Hello, World!");
            return "hello";
        }
    }
    

    要是写成了@RestController,那返回的会是字符串“hello”而不是视图页面,这也可能导致和预期不符的结果。

  • 检查视图文件的位置:如果用的是Thymeleaf模板,hello.html必须放在src/main/resources/templates目录下——Spring Boot默认只会扫描这个位置的视图文件,放错地方肯定会报404。

  • 确认端口配置是否正确:看看你的application.properties或者application.yml里有没有配置server.port=9191,要是没配置,应用默认会用8080端口启动,这时候访问9191自然会连接失败。

先把这些点排查一遍,要是还解决不了,把完整的错误日志和相关代码贴出来,咱们再接着分析!

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.26 10:56:35