# 实验四 **Repository Path**: jiangzewen/experment_4 ## Basic Information - **Project Name**: 实验四 - **Description**: No description available - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2019-06-25 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ### 《JAVA EE企业级架构》课程实验报告 院(系)名称:网络空间安全学院 专业班级: 17软件工程1班 学号:201741412117 姓名:江泽文 实验题目: 实验4 jpa编程 实验日期:2019/5/17 实验(上机)学时: 2 一、实验内容、要求 **改写用户注册/登录模块,使用JDBC或JPA技术实现用户数据的持久化,大致功能如下: 1、设计用户实体Entity,并与莞工id设置关联。 2、Entity需要校验用户数据的合法性。 3、用户照片保存在数据库中;前端显示用户照片时,改为读取数据库。 4、任何数据库操作发生错误时,请导向error.jsp,并回滚数据库事务。 5、增加绑定莞工中央认证账号的功能。本地账号登录的用户,可以在用户中心绑定莞工认证账号。绑定后,本地账号与莞工中央认证账号关联 二、所采用的Java EE技术规范 1.jsp的应用 2.css 3.Javascript 4.Javabean的使用 5.servlet的应用 6.数据库的使用 7.JPA相关知识 三、实验的主要模块及其功能 封装了大多数业务逻辑函数,例如: 1.判断注册数据是否合法 2.判断注册数据是否已经存在 3.将注册信息写入数据库中 4.判断登录信息是否存在 5.判断用户数据中是否存在此工号 6.将第三方莞工账户写入数据库 7.头像上传功能 register.jsp 与 MakeRegister模块: 实现在前端表单中输入注册信息,在服务器Servlet中接受并且判断注册数据是否合法,若不合法则跳转错误页面,若合法则写入数据库中,提示注册成功。 index.jsp 与 login_user 模块: 实现在前端表单中输入登录信息,在服务器Servlet中接受并且读取数据库判断是否含有此登录信息。若有,创建用户session并且跳转到个人中心。 Hello_Servlet与login_dgut模块: 两者相结合用于实现莞工中央认证的模块。用户在莞工中央认证成功以后,判断用户是否已经存在数据库中的user表,如果存在user表中,直接登录。若不存在,提示进行用户信息输入补充,并且写入到数据库的表user中(其中密码为123456)。最终若登录成功都跳转到个人中心。 login_dgut同时搭载了绑定功能,用于interface.jsp中的绑定功能,绑定完成将进行exit操作以刷新缓冲区信息。 img_change 模块: 更换头像模块,在前端中上传头像以后,由Servlet ChangeImg接收以后,更改当前用户session的头像图片属性,返回个人中心页面。还要在数据库中更 改当前用户的信息。 Exit模块: 删除用户session,并且跳转到登录页面。 四、程序运行时的输入数据/输出结果 登录界面 ![输入图片说明](https://images.gitee.com/uploads/images/2019/0625/125208_92d28cac_4846587.png "4-1.PNG") 注册界面 ![输入图片说明](https://images.gitee.com/uploads/images/2019/0625/125221_bbbdaa6d_4846587.png "4-2.PNG") 注册提交 ![输入图片说明](https://images.gitee.com/uploads/images/2019/0625/125230_c473abd9_4846587.png "4-3.PNG") 成功界面 ![输入图片说明](https://images.gitee.com/uploads/images/2019/0625/125238_060afb0c_4846587.png "4-4.PNG") 登录过后 ![输入图片说明](https://images.gitee.com/uploads/images/2019/0625/125256_73a30576_4846587.png "4-5.PNG") 用户信息界面(如果莞工id为空则会出现绑定莞工的标签) ![输入图片说明](https://images.gitee.com/uploads/images/2019/0625/125303_80753c00_4846587.png "4-6.PNG") 登录莞工 ![输入图片说明](https://images.gitee.com/uploads/images/2019/0625/125348_c73df20d_4846587.png "4-7.PNG") 绑定完成并提示重新登录 ![输入图片说明](https://images.gitee.com/uploads/images/2019/0625/125358_98b83545_4846587.png "4-8.PNG") 此时的信息界面 ![输入图片说明](https://images.gitee.com/uploads/images/2019/0625/125407_bbb0f60e_4846587.png "4-9.PNG") 上传头像功能,此时若再次登录该莞工账号将会进入该账号。 ![输入图片说明](https://images.gitee.com/uploads/images/2019/0625/125418_0908169a_4846587.png "4-10.PNG") 莞工登录另一个账号,无账号会进入补充信息界面 ![输入图片说明](https://images.gitee.com/uploads/images/2019/0625/125428_50279072_4846587.png "4-11.PNG") 补充信息过后 ![输入图片说明](https://images.gitee.com/uploads/images/2019/0625/125440_12ec8abd_4846587.png "4-12.PNG") 此时的数据库 ![输入图片说明](https://images.gitee.com/uploads/images/2019/0625/125446_c85ecadc_4846587.png "4-13.PNG")