基于Struts2框架的名片管理系统

2021-12-18 0 1,031

目录

1、系统设计

2、数据库设计

3、系统管理

4、用户管理

5、名片管理

本篇博文将分享一款基于Struts2框架的名片管理系统,JSP引擎为Tomcat9.0,数据库采用的是MySQL5.5,集成开发环境为Eclipse IDE for Java EE Developers。

名片管理系统主要包括用户管理和名片管理功能。用户功能主要包括:用户注册、用户登录、修改密码和修改基本信息功能;名片管理主要包括:添加名片、查询名片、修改名片、删除名片功能。

希望通过本篇的学习,朋友们不仅能掌握Struts 2应用开发的流程、方法和技术,还能够熟悉名片管理的业务需求、设计以及实现。

1、系统设计

1、系统功能需求

名片管理系统主要包含以下功能:

非注册用户可以注册为注册用户;

成功注册的用户,可以登录系统;

成功登录的用户,可以添加、修改、删除以及浏览自己客户的名片信息;

成功登录的用户,可以在个人中心查看自己的基本信息和修改密码。

2、系统模块划分

用户登录成功后,进入管理主页面(main.jsp)可以对自己的客户名片进行管理。系统模块划分,如下图所示。

基于Struts2框架的名片管理系统

名片管理系统功能

2、数据库设计

系统采用加载纯Java数据库驱动程序的方式连接MySQL5.5数据库。在MySQL5.5的数据库card中,共创建两张与系统相关的数据表:usertable和cardinfo。

1、数据库概念结构设计

根据系统设计与分析,可以设计出如下数据结构:

用户

包括用户名和密码,注册用户名唯一。

名片

包括ID、名称、电话、邮箱、单位、职务、地址、Logo以及所属用户。其中,ID唯一,“所属用户”与“1.用户”关联。根据以上的数据结构,结合数据库设计的特点,可画出如下图所示的数据库概念结构图。

基于Struts2框架的名片管理系统

数据库概念结构图

其中,ID为正整数,值是从1开始递增的序列。

2、数据库逻辑结构设计

将数据库概念结构图转换为MySQL数据库所支持的实际数据模型,即数据库的逻辑结构。用户信息表(usertable)的设计,如下表所示:

基于Struts2框架的名片管理系统

用户信息表

名片信息表(cardinfo)的设计,如下表所示:

基于Struts2框架的名片管理系统

名片信息表

3、系统管理

1、导入相关的jar包

新建一个Struts 2应用cardManage,在所有JSP页面中尽量使用EL表达式和JSTL标签,又因为系统采用纯Java数据库驱动程序连接MySQL5.5以及JSON数据转换。所以,需要将对应的JAR包复制到WebContent\WEB-INF\lib的目录下,JAR包如下图所示:

基于Struts2框架的名片管理系统

所需JAR包

2、JSP页面管理

由于篇幅受限,这里仅附上运行效果图,所有实现见源代码。

管理主页面

注册用户在浏览器地址栏中输入http://localhost:8080/struts2cardManage/login.jsp访问登录页面,登录成功后,进入管理主页面(main.jsp),main.jsp的运行效果如下图所示:

基于Struts2框架的名片管理系统

管理主页面

程序报错页面

当Java程序运行出现异常时,系统会执行全局页面error.jsp。

无权限提示页面

在没有成功登录的情况下,对名片进行增、删、改、查等操作时,系统执行无权限操作,提示页面nologin.jsp。

包文件和配置文件管理

本系统的包文件和配置文件层次结构如下图所示:

基于Struts2框架的名片管理系统

包层次结构图

所需包文件说明如下所示:

action包
该包是系统中所有Action类,包括名片管理的Action类和个人中心的Action类。
Conf文件夹
该文件夹的xml文件是本系统所有Action类的配置。“card.xml”是名片管理Action类的配置,“user.xml”是个人中心Action类的配置。这些xml文件需要在struts.xml文件中包含进来。
dao包
dao包中存放的Java程序是实现数据库的操作。其中BaseDao是一个父类,该类负责连接数据库;CardDao是BaseDao的一个子类,有关名片管理的数据访问在该类中;UserDao是BaseDao的另一个子类,有关用户的数据访问在该类中。另外,该包中还有一个名为“jdbc.properties”的文件,该文件是有关数据库的配置。包括驱动类名、数据库URL、用户名以及密码等。
entity包
该包中有1个实体类:Card,封装名片信息。
interceptor包
该包中有1个拦截器类:LoginValidateInterceptor,进行权限控制。
util包
该包中MyUtil类是获得一个时间字符串的工具类。
所需配置文件文件说明如下所示:
struts.xml
在软件系统开发中,模块化设计是最常用的一种方式。为了方便管理,本系统也不例外,将不同模块的配置分别放在不同的配置文件中。然后,在struts.xml文件中,通过include引入这些配置文件。
user.xml
该配置文件负责配置和用户有关的Action。
card.xml
该配置文件负责配置个人中心有关的Action,在此处使用了通配符“*”动态匹配Action的请求名称。

4、用户管理

用户功能主要包括:用户注册、用户登录、修改密码和修改基本信息功能。

1、Action的实现

UserAction类负责处理“会员注册”、“会员登录”、“安全退出”以及“个人中心”的功能。

2、注册

在系统默认主页index.jsp,单击“注册”链接,打开注册页面register.jsp,效果如下图所示:

基于Struts2框架的名片管理系统

注册页面

在deleteSelect.jsp页面所示的注册页面中,输入“姓名”后,系统会根据Ajax异步请求路径“jsontest/isUse.action”检测“姓名”是否可用。输入合法的用户信息后,单击“注册”按钮,实现注册功能。

3、登录

在系统默认主页index.jsp,单击“登录”链接,打开登录页面login.jsp,效果如下图所示:

基于Struts2框架的名片管理系统

登录界面

用户输入姓名和密码后,系统将对姓名和密码进行验证。如果姓名和密码同时正确,则成功登录,将用户信息保存到session对象,并进入系统管理主页面(main.jsp);如果姓名或密码有误,则提示错误。

单击登录界面中“确定”按钮,通过请求路径“user/login.action”,将登录请求提交给Action。配置文件user.xml根据请求路径找到对应Action类UserAction(6.1节)的login方法处理登录请求。

4、修改密码

单击主页面中“个人中心”菜单的“修改密码”菜单项,打开密码修改页面updatePWD.jsp。页面效果如下图所示:

基于Struts2框架的名片管理系统

密码修改页面

在密码修改页面中输入“新密码”和“确认新密码”后,单击“修改密码”按钮,将请求通过“user/updatePwd.action”提交给Action。配置文件user.xml根据请求路径找到对应Action类UserAction(6.1节)的updatePwd方法处理密码修改请求。

5、基本信息

单击主页面中“个人中心”菜单的“基本信息”菜单项,打开基本信息页面userInfo.jsp。页面效果如下图所示:

基于Struts2框架的名片管理系统

基本信息页面

5、名片管理

与系统相关的JSP页面、CSS和图片位于WebRoot目录下。在第3节中,已经介绍了系统的数据库操作,所以本节只是介绍JSP页面和Action的实现。

名片管理主要包括:添加名片、查询名片、修改名片、删除名片功能。

1、Action的实现

CardAction类负责处理“名片管理”的功能,包括添加、修改、删除、查询等。

2、添加名片

用户输入客户名片的姓名、电话、E-Mail、单位、职务、地址、Logo后,单击“提交”按钮实现添加。如果成功,则跳转到查询页面;如果失败,则回到添加页面。addCard.jsp页面实现添加名片信息的输入界面,如下图所示:

基于Struts2框架的名片管理系统

添加名片页面

单击上图中“提交”按钮,将添加请求通过“card/addCard.action”提交给Action处理。配置文件card.xml根据请求路径找到对应Action类CardAction(5.1节)的add方法处理添加功能。添加成功跳转到查询Action;添加失败回到添加页面。

3、查询名片

管理员登录成功后,进入名片管理系统的主页面,在主页面中初始显示查询页面queryCards.jsp,查询页面运行效果如下图所示:

基于Struts2框架的名片管理系统

查询页面

单击主页面中“名片管理”菜单的“查询名片”菜单项,打开查询页面queryCards.jsp。“查询名片”菜单项超链接的目标地址是个Action。该Action的请求路径为“card/queryCard.action”,配置文件card.xml根据请求路径找到对应Action类的query方法处理查询功能。在该方法中,根据动作类型(“修改查询”、“查询”以及“删除查询”),将查询结果转发到不同页面。

在queryCards.jsp页面中单击“详情”超链接,打开名片详细信息页面detail.jsp。“详情”超链接的目标地址是个Action。该Action的请求路径为“card/selectACard.action”。配置文件card.xml根据请求路径找到对应Action类的selectA方法处理查询一个名片功能。将查询结果转发给详细信息页面detail.jsp。名片详细信息页面如下图所示:

基于Struts2框架的名片管理系统

名片详情

4、修改名片

单击主页面中“管理名片”菜单的“修改名片”菜单项,打开修改查询页面updateSelect.jsp。“修改名片”菜单项超链接的目标地址是个Action。找到对应Action类CardAction的方法query,在该方法中,根据动作类型,将查询结果转发给修改查询页面。

单击updateSelect.jsp页面中的“修改”超链接打开修改名片信息页面updateCard.jsp。“修改”超链接的目标地址是个Action。找到对应Action类CardAction的方法selectA,在该方法中,根据动作类型,将查询结果转发给updateCard.jsp页面显示。

输入要修改的信息后,单击“提交”按钮,将名片信息提交给Action,找到对应Action类CardAction的方法update,在方法中执行修改的业务处理。修改成功,进入查询名片。修改失败,回到updateCard.jsp页面。updateSelect.jsp页面的运行效果如下图所示。

基于Struts2框架的名片管理系统

updateSelect.jsp页面

updateCard.jsp页面的运行效果如下图所示:

基于Struts2框架的名片管理系统

updateCard.jsp页面

5、删除名片

单击主页面中“管理名片”菜单的“删除名片”菜单项,打开删除查询页面deleteSelect.jsp。

“删除名片”菜单项超链接的目标地址是个Action。找到对应Action类CardAction的方法query,在该方法中,根据动作类型,将查询结果转发给deleteSelect.jsp页面,页面效果如下图所示:

基于Struts2框架的名片管理系统

deleteSelect.jsp页面

在上图的复选框中选择要删除的名片,单击“删除”按钮,将要删除名片的ID提交给控制器Action。找到对应Action类CardAction的方法delete,在该方法中,根据动作类型执行批量删除的业务处理。

单击上图中的“删除”超链接,将当前行的名片ID提交给控制器Action,找到对应Action类CardAction的方法delete,在该方法中,根据动作类型执行单个删除的业务处理。删除成功后,进入删除查询页面。

免责声明:本文内容由凌晨学院网转载自互联网不脱发的程序猿,版权归原作者所有,凌晨学院网不拥有其著作权,亦不承担相应法律责任。如果本站侵犯了您的权益请及时联系team@lcwl.fun,核实后本站将会在2个工作日内对涉嫌侵权内容处理完毕!谢谢合作!

收藏 (0) 打赏

感谢您的支持,我们会继续努力的!

打开支付宝/微信/QQ扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

1. 本站所有教学内容和资源均来源于本站原创和网络收集以及用户自主上传,如有侵权请带证联系本站客服进行处理!邮箱:team@lcwl.fun
2. 对于非本站原创的资源不保证所提供下载资源的准确性、安全性和完整性,资源仅供下载学习之用!如有链接无法下载、失效或广告,请联系本站客服处理,有奖励!
3. 除本站原创教学或资源外其余资源您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容资源!如用于商业或者非法用途,与本站无关,一切后果请用户自负!
4. 本站原创资源如需商用还请申请商业授权,否则本站有权追究其法律责任!
5. 如果您也有好的资源或教程,您可以投稿发布,成功分享后有学币奖励额外收入!

凌晨资源网 前端开发 基于Struts2框架的名片管理系统 https://www.lingchenw.cn/870.html

常见问题
  • 本站所有付费教程均可单独付费或者开会员学习,自己购买或者开了会员就可以学习,来凌晨学院报名学习送会员,并且有讲师一对一辅导培训教学,师生互动化,定期布置作业等
查看详情
  • 本站所有资源版权均属于原作者所有,资源中标注可商用的可以商用的代表是本团队自主研发公布可商用的产品,未标注可商用所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。
查看详情

相关文章

发表评论
暂无评论
官方客服团队

为您解决烦忧 - 24小时在线 专业服务

学习手机编程软件开发
手机编程软件开发

你知道吗?用手机也能开发制作软件,满足自己的编程心,做属于自己的软件

报名学习
自媒体短视频
副业做自媒体短视频

想做自媒体短视频剪辑给自己多一份副业,只需一部手机你也可以

报名学习
搭建网站必备云互联主机
链未云互联

搭建网站,后台云服务等必备云服务器互联主机,IDC云主机

现在使用
Fa快捷助手
用手点一点就能开发做软件

不用记编程语法,不用一行一行手敲代码,用手点一点就能开发制作软件

点击下载