山东大学软件学院项目实训——面向中小学生的智能题目生成系统开发(二)

  首先我们确定了使用广泛引用的Java语言,考虑到方便使用和跨平台性,我们的功能将基于网页提供,所以具有强大稳定性和可拓展性的springboot作为后端框架,以及MySQL作为数据库,这样调用org.springframework.data.repository.CrudRepository可以轻便地实现增删改查。

  前期规划时根据以往的经验,我们使用了DTO降低耦合性,使得各层可以独立变化,不会因为某一层的修改而影响其他层。DTO 可以只包含需要传输的数据字段,避免传输多余的数据。例如,在查询用户信息时,只需要返回用户的姓名和邮箱,而不需要返回用户的密码、创建时间等字段,这样更加方便连表查询。通过 DTO,可以控制哪些数据可以被外部访问。例如,在返回用户信息时,可以通过 DTO 隐藏用户的敏感信息(如密码、身份证号),可以提高系统的安全性,防止敏感数据泄露。

  同时书写了基本的注册界面以及登录界面

部分代码展示以及注册界面后端逻辑:

 1. 检查用户名是否为空

2. 检查用户名是否已存在 

3. 创建新的 User 对象

4. 如果密码为空,设置默认密码

5. 将 UserDto 的属性复制到 User 对象中

6. 保存 User 对象到数据库

部分代码展示以及登录界面后端逻辑:

 1. 检查用户名是否为空

2. 检查密码是否为空

3. 查询数据库中是否存在该用户名和密码

4. 如果用户存在,返回用户对象

5. 如果用户不存在,抛出异常

同时定义了自定义异常CustomException方便了解错误,

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值