前台界面没反应,但是可以往数据库中添加数据,同时IDEA控制台打印了一串错误信息

新手在开发javaweb项目时遇到问题,前端无响应,但后台能向数据库添加数据并抛出错误。原因是UserServiceImpl中逻辑错误,两次调用userDao.save(user),导致数据库重复保存,引发MySQLIntegrityConstraintViolationException异常。解决方案是删除多余的save方法,通过注释调整代码后,项目注册功能恢复正常。
摘要由CSDN通过智能技术生成

 

新手初学javaweb项目,遇到的问题:

 

经排查发现UserServiceImpl里边 逻辑错误。根据用户名查询完对象后,调用了userDao.save(user)方法对数据进行了保存,后面再一次调用userDao.save(user)方法,显然这是不符合逻辑的,第一次执行完save方法就已经将数据存到数据库了,执行到第二次时发现数据库中已经存在该用户,引发MySQLIntegrityConstraintViolationException异常。

解决方法:删除第一次的save方法

 

public class UserServiceImpl implements UserService {

    private UserDao userDao = new UserDaoImpl();

    /**
     * 注册用户
     * */
    @Override
    public boolean regist(User user) {
        //1.根据用户名查询用户对象
        User u = userDao.findByUsername(user.getUsername());
        if (u != null) {
            //用户名存在,注册失败
            return false;
        }
        //2.保存用户信息
//        userDao.save(user); //先保存以后前台界面会没效果,但是数据会被存入到后台数据库,且后台报错
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值