Spring Boot程序控制台运行正常 localhost页面提交数据报错如何解决
Spring Boot表单提交报错排查方案
1. 补充JSP支持依赖
Spring Boot默认未内置JSP解析能力,使用JSP作为视图层需手动添加依赖,Maven配置示例如下:
<!-- jasper解析JSP --> <dependency> <groupId>org.apache.tomcat.embed</groupId> <artifactId>tomcat-embed-jasper</artifactId> <scope>provided</scope> </dependency> <!-- JSTL标签库支持 --> <dependency> <groupId>javax.servlet</groupId> <artifactId>jstl</artifactId> </dependency>
2. 核对视图解析配置
检查application.properties中视图前缀、后缀配置是否和JSP存放路径匹配,参考配置:
# JSP文件存放目录 spring.mvc.view.prefix=/WEB-INF/jsp/ # 视图后缀 spring.mvc.view.suffix=.jsp
注意路径大小写需完全匹配,否则会触发视图找不到的404错误。
3. 校验实体类参数绑定逻辑
- 确认
Alien.java为所有属性添加了public的getter、setter方法 - 确认表单提交的参数名和
Alien类的属性名完全一致,否则Spring MVC无法完成自动参数注入
4. 核对请求路径映射
确认表单action属性配置的提交路径,和AlienController对应处理方法的@PostMapping/@RequestMapping路径完全匹配,若配置了上下文路径server.servlet.context-path,提交路径需要加上对应前缀。
5. 检查JPA相关配置
- 启动类
BoojApplication.java需和Alien实体类、AlienRepo在同一个根包下,否则需要添加@EntityScan("实体类包路径")、@EnableJpaRepositories("Repo包路径")注解 - 确认
application.properties中数据库地址、用户名、密码配置正确,数据库服务已正常启动 - 若未手动建表,可添加配置
spring.jpa.hibernate.ddl-auto=update自动生成表结构
6. 校验参数类型匹配
确认表单提交的参数值和Alien类属性类型匹配,比如aid为整数类型时,表单不要传入非数字内容,否则会触发参数转换异常。
内容的提问来源于stack exchange,提问作者Manoj Yadav
相关产品推荐
相关产品推荐

