基于SSM框架的JAVA公文管理系统

最近了解了公文管理系统项目,在这个平台记录一下这个公文管理系统项目,方便以后再次使用或学习的时候能够及时的翻阅。在完成这个项目的时候,考虑了很多框架。最终决定选用SSM(MYECLIPSE),该框架具有极强的移植性,多平台性,便于操作性等优点。此框架能在MYECLIPSE开发工具中完美的编写和运行,公文管理系统为一个 后台项目。这个项目的描述是这样的:公文,全称公务文书,是法定机关或其他社会组织在公务活动中,具有法律效力和规范的文体。凡是从事行政事务,都要学会通过公文来传达政令政策、处理公务,以保证协调各种关系,决定事务使工作正确地、高效地进行。跟思维导图相似的一种方式。公文管理系统是面向党政机关、企事业单位的公文处理工作而开发的,是一款非常好用、实用的公文管理软件。
在对公文管理系统项目进行需求分析的时候,得出系统的登录角色包括了管理员、用户。对应用户可以通过登录自己的账号,进行入系统。系统对不同角色拥有不同权限。

总结得出该系统所有数据为:管理员(admin)、用户(yonghu)、收文登记(shouwendewngji)、发文拟稿(fawennigao)

管理员表

字段名 | 类型 | 属性 | 描述
id | INT(11) | PRIMARY KEY | 管理员id
username | VARCHAR(255) | | 账号
password | VARCHAR(255) | | 密码

用户表

字段名 | 类型 | 属性 | 描述
id | INT(11) | PRIMARY KEY | 用户id
xingming | VARCHAR(255) | | 姓名
nianling | VARCHAR(255) | | 年龄
xingbie | VARCHAR(255) | | 性别
zhiwu | VARCHAR(255) | | 职务
quanxian | VARCHAR(255) | | 权限
username | VARCHAR(255) | | 账号
password | VARCHAR(255) | | 密码

收文登记表

字段名 | 类型 | 属性 | 描述
id | INT(11) | PRIMARY KEY | 收文登记id
mingcheng | VARCHAR(255) | | 名称
shijian | VARCHAR(255) | | 时间
neirong | VARCHAR(255) | | 内容

发文拟稿表

字段名 | 类型 | 属性 | 描述
id | INT(11) | PRIMARY KEY | 发文拟稿id
biaoti | VARCHAR(255) | | 标题
neirong | VARCHAR(255) | | 内容
shijian | VARCHAR(255) | | 时间
zhuyishixiang | VARCHAR(255) | | 注意事项
SET FOREIGN_KEY_CHECKS=0;

-- ----------------------------

-- ----------------------------

-- Table structure for gggongwenguanlixt

-- ----------------------------

DROP TABLE IF EXISTS `t_admin`;

CREATE TABLE `t_admin` (`id` INT(11) NOT NULL AUTO_INCREMENT COMMENT '管理员id',`username` VARCHAR(255) DEFAULT NULL COMMENT '账号',`password` VARCHAR(255) DEFAULT NULL COMMENT '密码',PRIMARY KEY (`id`)

) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='管理员';

-- ----------------------------

DROP TABLE IF EXISTS `t_yonghu`;

CREATE TABLE `t_yonghu` (`id` INT(11) NOT NULL AUTO_INCREMENT COMMENT '用户id',`xingming` VARCHAR(255) DEFAULT NULL COMMENT '姓名',`nianling` VARCHAR(255) DEFAULT NULL COMMENT '年龄',`xingbie` VARCHAR(255) DEFAULT NULL COMMENT '性别',`zhiwu` VARCHAR(255) DEFAULT NULL COMMENT '职务',`quanxian` VARCHAR(255) DEFAULT NULL COMMENT '权限',`username` VARCHAR(255) DEFAULT NULL COMMENT '账号',`password` VARCHAR(255) DEFAULT NULL COMMENT '密码',PRIMARY KEY (`id`)

) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='用户';

-- ----------------------------

DROP TABLE IF EXISTS `t_shouwendewngji`;

CREATE TABLE `t_shouwendewngji` (`id` INT(11) NOT NULL AUTO_INCREMENT COMMENT '收文登记id',`mingcheng` VARCHAR(255) DEFAULT NULL COMMENT '名称',`shijian` VARCHAR(255) DEFAULT NULL COMMENT '时间',`neirong` VARCHAR(255) DEFAULT NULL COMMENT '内容',PRIMARY KEY (`id`)

) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='收文登记';

-- ----------------------------

DROP TABLE IF EXISTS `t_fawennigao`;

CREATE TABLE `t_fawennigao` (`id` INT(11) NOT NULL AUTO_INCREMENT COMMENT '发文拟稿id',`biaoti` VARCHAR(255) DEFAULT NULL COMMENT '标题',`neirong` VARCHAR(255) DEFAULT NULL COMMENT '内容',`shijian` VARCHAR(255) DEFAULT NULL COMMENT '时间',`zhuyishixiang` VARCHAR(255) DEFAULT NULL COMMENT '注意事项',PRIMARY KEY (`id`)

) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='发文拟稿';

添加收文登记模块:

系统中存在添加收文登记功能,通过点击添加收文登记可以跳转到该功能模块,在该功能模块中,填写对应的收文登记信息。收文登记包含信息名称,时间,内容,填写完所有信息后,通过post方法将数据提交到tianjiashouwendewngji.action中,该地址将在服务器中shouwendewngjiController类中的tianjiashouwendewngjiact方法中进行响应。响应结果为,获取所有的收文登记信息,封装一个shouwendewngji类,使用shouwendewngjiController类中定义的shouwendewngjidao的insert方法,将收文登记数据插入到数据库的shouwendewngji表中。并给出用户提示信息,添加收文登记成功,将该信息保存到request的message中,该信息将在页面中进行展示。该部分核心代码如下:

通过shouwendewngjidao的insert方法将页面传输的收文登记添加到数据库中 shouwendewngjidao.insert(shouwendewngji);

将添加收文登记成功信息,保存到request的message中,在页面中给出用户提示 request.setAttribute("message", "添加收文登记成功");

返回收文登记管理界面

return "forward:/tianjiashouwendewngji.action";

查询收文登记模块:

在后台中定义收文登记查询模块,在侧边栏中点击收文登记管理,可以跳转到收文登记管理界面。在该页面中通过shouwendewngjiController中定义shouwendewngjiguanli响应收文登记查询模块。在shouwendewngjiguanli中查询出所有信息,返回页面进行循环展示。查询方法为shouwendewngjidao中的selectByexample方法。该部分核心代码如下:

生成收文登记样例类,通过example定义查询条件 ShouwendewngjiExample example = new ShouwendewngjiExample();

通过shouwendewngjidao的selectByExample方法查询出所有的收文登记信息 List shouwendewngjiall = shouwendewngjidao.selectByExample(example);

将收文登记信息,保存到request中,在页面通过foreach方法进行展示 request.setAttribute("shouwendewngjiall", shouwendewngjiall);

返回收文登记管理界面

return "forward:/shouwendewngjiguanli.action";

修改收文登记模块:

对已经上传的收文登记信息可以进行修改操作,该部分操作在收文登记管理界面中点击修改按钮可以跳转到收文登记修改页面。在修改页面中,将初始化所有的收文登记字段信息,字段信息包括名称,时间,内容。字段信息内容通过收文登记id获取。修改后的信息传入到shouwendewngjiController中接收为shouwendewngji。在shouwendewngjiController中包含有提前定义好的shouwendewngjidao,该参数为shouwendewngjiMapper是实现。shouwendewngjiMapper中定义了修改方法,此处使用修改方法为updateByPrimaryKeySelective,该方法可以将修改后信息同步到数据库中,最终将修改成功信息返回页面中。该部分代码如下:

通过shouwendewngjidao的修改方法根据id修改对应的收文登记 shouwendewngjidao.updateByPrimaryKeySelective(shouwendewngji);

将修改收文登记成功信息,保存到request的message中,在页面中给出用户提示 request.setAttribute("message", "修改收文登记信息成功");

返回收文登记管理界面

return "forward:/shouwendewngjiguanli.action";

删除收文登记模块:

在管理页面中,点击删除。页面将通过a标签的href属性,使用get方法将该收文登记

的id上传到服务器中,在服务器中通过shouwendewngjiController类中的shanchushouwendewngji进行接收,之后调用shouwendewngjiMapper中的deleteByPrimaryKey方法根据ID进行删除。将删除信息保存到request的message中,在页面给出用户删除成功的提示信息,该部分核心代码如下:

通过shouwendewngjidao的删除方法根据id删除对应的收文登记 shouwendewngjidao.deleteByPrimaryKey(id);

将删除收文登记成功信息,保存到request的message中,在页面中给出用户提示 request.setAttribute("message", "删除收文登记成功");

返回收文登记管理界面

return "forward:/shouwendewngjiguanli.action";

猜你喜欢

转载自www.cnblogs.com/xxsnn/p/11593776.html