肥桃的JavaBug记录2:《记账项目》controller层调用service报错空指针

博客讲述了作者在Java项目中遇到的一个控制器调用服务层报空指针异常的问题。经过排查,发现是前端传回的typeid值为null,而Service层方法参数使用的是int而非Integer,导致错误。修改Service层参数类型后,问题依然存在,最终发现是前端页面参数名打错导致。博主强调前端页面检查的重要性,提醒程序员避免因低级错误影响项目进度。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

惯例,先上报错和报错位置

在这里插入图片描述
报错位置
在这里插入图片描述

可以看到是在第42行出了空指针的报错,这一行是在controller层调用service层方法的时候出现的问题。
我先去检查了spring的注入和注释等有没有错误和遗漏,发现没有问题。
初始化后前端页面是可以收到后台的传值的,而且测试中发现后台也没有报错。
在这里插入图片描述

上图可以发现后台传值没有问题

在这里插入图片描述在报错位置打了个断点进行debug,发现前端传回的typeid这个值是null,导致了空指针的bug。

这里判断应该是前端页面传值出现了问题。
首先在检查的时候发现,service层的实现类中,传值一开始使用的是int而不是包装类Integer,这就导致了当前端页面传值返回类型有误时,页面直接报错崩溃。

在这里插入图片描述
在这里将参数类型int改为了Integer,然而前端传值错误的问题依旧没有解决。
这里仔细检查了前端页面,发现show页面

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值