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

SpringBoot控制器映射异常求助:访问路径无GET映射问题排查

解决SpringBoot控制器映射失效及JSP无法访问问题

核心排查点及修复方案

1. 补全JSP文件后缀

你的项目结构中src/main/webapp/WEB-INF/views/welcomepage2缺少.jsp后缀,而application.properties配置了spring.mvc.view.suffix= .jsp,必须确保JSP文件命名为index.jsp和welcomepage2.jsp,否则视图解析器无法定位文件。

2. 修正控制器视图返回路径

第一个控制器方法返回"/index",结合配置的prefix=/WEB-INF/views/,会拼接成/WEB-INF/views//index.jsp(多了一个冗余斜杠),规范写法应去掉开头的斜杠:

@GetMapping("/index")
public String nawaWelcomePage (Model model){
    model.addAttribute("textcode","testcode!");
    return "index"; // 移除开头的/
}

3. 确保控制器被Spring扫描

@SpringBootApplication默认仅扫描启动类所在包及其子包。如果启动类Nawa2Application所在包与Controller包同级(比如启动类在src/main/java/com/example,控制器在src/main/java/Controller),Spring无法自动识别该控制器。

修复方案二选一:

  • 将Controller包移动到启动类的子包下,例如src/main/java/com/example/controller
  • 在启动类上添加@ComponentScan指定扫描路径:
@SpringBootApplication
@ComponentScan({"Controller", "com.example"}) // 包含控制器包和启动类所在包
public class Nawa2Application {
    public static void main(String[] args) {
        SpringApplication.run(Nawa2Application.class, args);
    }
}

4. 修正静态资源配置

spring.mvc.static-path-pattern=/resources/static/**配置错误,正确的静态资源路径配置应为:

spring.mvc.static-path-pattern=/static/**
# 或保持默认(无需配置),SpringBoot默认会映射/**到classpath:/static/、classpath:/public/等目录

该配置虽不直接导致控制器映射失效,但错误配置可能引发其他访问问题,建议修正。

5. 验证依赖完整性

你的Gradle依赖已包含tomcat-embed-jasper和jstl(SpringBoot支持JSP的必要依赖),只需确认依赖已成功下载即可(可查看Gradle依赖树或项目lib目录)。

验证步骤

  1. 修正上述问题后重启项目
  2. 访问localhost:8080/index和localhost:8080/welcomepage2,检查是否能正常加载JSP页面并显示模型数据

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.25 00:54:33