【Java项目(2)】基于Javaee的通讯录系统

基于Javaee的通讯录系统

为什么会有这个项目?

要求

还不是因为老师的作业!!!!!!!!

系统介绍:
  1. 功能描述

通讯录模块主要用于允许用户按类别管理自己的通讯录信息。根据该功能可以将通讯录模块分为用户操作和联系人管理两个部分,具体的功能结构图如下图所示:

在这里插入图片描述

  1. 系统流程

用户访问登录页面,若该用户没注册,则先注册,否则输入用户名和密码登录系统主页;在进入系统主页后,用户可以对自己的联系人信息进行管理。

  1. 关键技术

    核心技术:JSP+Servlet+JavaBean,其中,Servlet充当控制器,用于实现业务逻辑;JavaBean充当模型层;JSP充当表示层,即视图,用于获取或显示数据。具体要求如下:

    1. 数据库至少包括三张表:联系人分类表、联系人表及用户表;
    2. JSP页面:
      a. 数据显示结合使用EL表达式和JSTL;
      b. 所有JSP页面使用JSP动作标签将页面header.html及footer.html部分包含进来;
    3. JavaBean:
      a. 定义三个JavaBean,分别用户封装联系人分类信息、联系人信息及用户信息;
      b. 定义三个DAO,分别实现系人分类信息、联系人信息及用户信息的增删改查操作;
    4. Servlet:
      用于收集页面数据,调用模型(JavaBean)进行信息处理,选择视图(jsp)显示结果
    5. 其他要求:
      a. 整个项目的页面跳转方式需使用到重定向和请求转发;
      b. Session保存登录用户信息,在主页显示;
      c. 解决页面中文乱码问题。

说明

这是一个使用了 H-ui 组件库的一个页面,后端使用JavaEE开发,访问数据库使用阿里的 Druid连接池,使用 ThreadLocal 进行统一的事务管理,对于 Servlet控制器,采用一个抽象基础类,在每一次访问的时候都将手动的携带一个 action访问参数,使用 Java反射机制动态调用方法,提高代码复用率。 通讯录系统开发严格遵循 MVC模式。

本系统截止 2020-11-30已经完成了注册、登录、修改密码、新增分组、新增联系人、联系人信息管理、分组管理功能。

待完善功能: 邮箱注册, 使用邮箱找回密码, 搜索功能, 名片生成, 用户信息的更多细节(性别,年龄…), 微信扫码登录, 个人收藏和黑名单

数据库设计

用户表 t_user

字段类型主键是否为空说明
idint(11)truefalse自增的id值
namevarchar(255)falsefalse用户名称
passwordvarchar(255)falsefalse用户密码
emailvarchar(255)falsetrue用户邮箱
sexvarchar(1)falsetrue用户性别

联系人表 t_linkman

字段类型主键是否为空说明
idint(11)truefalse自增id值
remarkvarchar(255)falsetrue描述
is_blacktinyint(1)falsefalse是否加入黑名单
is_collecttinyint(1)falsefalse是否收藏
cat_namevarchar(30)falsefalse该联系人类别名称
user_idint(11)falsefalse改联系人属于哪个用户
namevarchar(20)falsefalse该联系人的名称

号码表 t_phone

字段类型主键是否为空说明
idint(11)truefalse自增id主键
phonevarchar(20)falsefalse电话号码
user_idvarchar(255)faslefalse该号码属于哪一个用户

分类表 t_linkman_cat

字段类型主键是否为空说明
idint(11)truefalse自增主键
user_idint(11)falsefalse用户id
cat_namevarchar(30)falsefalse该分类的名称

系统运行界面

登录注册功能

注册页

image-20201130225854058

image-20201130230702503

image-20201130230714014

登录页

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-lh7bWuCq-1606782966157)(https://i.loli.net/2020/11/30/HbrC7y6DMO5x31j.png)]

  • 密码错误页面

登录成功后台

登录成功欢迎页面

image-20201201083205095

左边导航栏中的管理通讯录

image-20201201080114367

修改用户密码

image-20201201080212754

  • 修改密码中有原密码的验证以及两次重复密码的验证,有一处错误就不会提交表单

image-20201201080734977

新增联系人

image-20201201080843775

  • 一个联系人可以拥有多个手机号码,点击新增按钮,即可新增手机号码。

分组管理

  • 对于分组管理,在输入框里面输入内容之后,当文本框失去焦点,或者点击空格或回车,都会将输入的文本内容变成分组,

image-20201201080325729

image-20201201081055951

  • 点击提交会提交到后台,再次进入界面,可以发现,左边的导航栏已经发生了变化

image-20201201081213162

  • 点击分组的名称,会弹出提示框,提示是否要删除分组,点击确定,再提交更改,即可删除该分组。

image-20201201081442931

  • 若该分组含有联系人,那么会自动的将里面的所有联系人自动的归到默认分组里面。

全部联系人
  • 不论联系人在哪个分组,都会在这个分组里面。

image-20201201082627793

联系人详细信息
  • 点击联系人名称,在右边内容里会显示该联系人的详细信息。

image-20201201081803449

  • 右边是一个表单,实时可以对联系人进行更改,修改完信息之后,点击更新信息,即可在数据库更新。

image-20201201081847030

  • 在新增号码这一栏里面,如果新增的号码输入框没有数据,那么就不会有一个新的框出现。若将一个号码里面的值全部清楚,并失去焦点,那么这个文本框会自动的消失。

image-20201201081905202

注销功能
  • 点击注销之后,会跳转到登录界面

image-20201201082458044

回到欢迎页面

image-20201201082544482

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 8
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

「已注销」

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值