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

NetBeans中Spring Boot运行JSP报500内部服务器错误

Spring Boot JSP访问500错误排查修复

1. 控制器类导入错误

LoginController中存在错误的静态导入:

import static com.fasterxml.jackson.databind.cfg.CoercionInputShape.String;

这行代码将Jackson包内的枚举值静态导入,覆盖了默认引入的java.lang.String类型,导致loginMessage()方法返回值类型完全不符合Spring MVC的要求,请求映射时直接抛出类型异常。
修复:直接删除这行错误导入,同时清理类中所有未使用的导入项(包括@Bean、ModelMap、RequestParam、ResponseBody、RestController、InternalResourceViewResolver相关导入),java.lang.String属于JDK默认加载类,无需手动导入。

2. Maven依赖配置错误

2.1 JSP引擎依赖作用域配置错误

tomcat-embed-jasper是内嵌Tomcat解析JSP的核心依赖,你给该依赖配置了<scope>provided</scope>,代表该依赖仅在编译、测试阶段生效,运行时不会被加载。直接通过main方法启动内嵌Tomcat时,容器没有JSP解析能力,访问JSP必然报错。
修复:删除该依赖的scope配置,使用默认的compile作用域即可,正确配置:

<dependency>
    <groupId>org.apache.tomcat.embed</groupId>
    <artifactId>tomcat-embed-jasper</artifactId>
</dependency>

2.2 视图技术依赖冲突

pom中同时引入了spring-boot-starter-thymeleaf和JSP相关依赖,Spring Boot自动配置时会优先注册Thymeleaf视图解析器,默认去classpath:/templates/路径下找login.html模板,找不到就抛出异常,不会走到JSP解析流程。
修复:如果确定使用JSP作为视图层技术,直接删除Thymeleaf starter依赖:

<!-- 删除以下依赖块 -->
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>

3. JSP存放路径不符合规范

Spring Boot内嵌Tomcat对JSP的扫描路径有强制要求,JSP文件必须存放在src/main/webapp/WEB-INF/jsp/目录下,如果你将WEB-INF目录建在src/main/resources下,容器无法扫描到对应JSP文件,会报资源找不到错误。
修复:在src/main目录下新建webapp目录,逐层创建WEB-INF/jsp子目录,将login.jsp移动到该路径下。

4. 其他校验项

  • 本地开发直接通过IDE运行主类启动即可,Spring Boot内嵌Tomcat不支持可执行jar包运行JSP,如果需要打包部署请打war包部署到外部Tomcat容器。
  • 当前控制器方法没有向页面传递name参数,页面中${name}会显示为空,需要传值的话修改控制器方法:
@RequestMapping("/login")
public String loginMessage(Model model){
    model.addAttribute("name", "新手用户");
    return "login";
}
  • 提前检查本地MySQL服务是否启动、musadb库是否存在、数据库账号密码是否配置正确,数据库连接失败也会导致应用启动或请求报错。

所有修改完成后,执行mvn clean compile清理重新构建项目,重启应用后访问http://localhost:8082/login即可正常加载JSP页面。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.26 10:01:53