每天记录学习,每天会有好心情。*^_^*

今天记录的项目是期刊学报网络投稿系统,这个项目是这么回事:为了解决目前通过电子邮件网上投稿存在的弊端,提高期刊编辑部工作效率,参照传统期刊编辑部工作流程,在win 10的JAVA环境下,运用JSP+Mysql数据库方式,开发了基于因特网的在线投稿系统。系统可以完成作者在线投稿,稿件自主管理、实时跟踪审稿进度,编辑在线审稿,稿件在线管理,编辑与作者、作者与作者之间沟通等主要功能,并可根据权限对稿件及网站进行管理,基本涵盖了期刊编辑部稿件管理全过程。为提高用户访问速度,采用了动态生成静态页技术。并根据实际情况,提出了实现在线投稿后对编辑部工作新的要求。。
做这个项目的时候,我们需要用到SSM(MYECLIPSE)框架,开发工具选用最拿手的MYECLIPSE。
期刊学报网络投稿系统项目是一个 后台项目。
开发系统时,需求分析是必不可少的一个环节。期刊学报网络投稿系统拥有的登录角色包括了管理员、用户。
每个账号设置身份、账号、密码是必不可少的,管理员、用户中都包含这些登录角色该有的字段。
在系统的功能中,投稿是一个重要的表。这个表使得用户关联了起来。在投稿表中投稿的作者与用户的mingzi字段对应、投稿的作者id与用户的id字段对应
,他们拥有关联关系。

总结得出该系统所有数据为:管理员(admin)、期刊(qikan)、投稿(tougao)、用户(yonghu)

管理员表

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

期刊表

字段名 | 类型 | 属性 | 描述
id | INT(11) | PRIMARY KEY | 期刊id
mingcheng | VARCHAR(255) | | 名称
shijian | VARCHAR(255) | | 时间

投稿表

字段名 | 类型 | 属性 | 描述
id | INT(11) | PRIMARY KEY | 投稿id
biaoti | VARCHAR(255) | | 标题
neirong | VARCHAR(255) | | 内容
shijian | VARCHAR(255) | | 时间
zuozhe | VARCHAR(255) | | 作者
zuozheid | VARCHAR(255) | | 作者id

用户表

字段名 | 类型 | 属性 | 描述
id | INT(11) | PRIMARY KEY | 用户id
mingzi | VARCHAR(255) | | 名字
username | VARCHAR(255) | | 账号
password | VARCHAR(255) | | 密码
SET FOREIGN_KEY_CHECKS=0;

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

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

-- Table structure for ggxueyuantougao

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

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_qikan`;

CREATE TABLE `t_qikan` (`id` INT(11) NOT NULL AUTO_INCREMENT COMMENT '期刊id',`mingcheng` VARCHAR(255) DEFAULT NULL COMMENT '名称',`shijian` VARCHAR(255) DEFAULT NULL COMMENT '时间',PRIMARY KEY (`id`)

) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='期刊';

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

DROP TABLE IF EXISTS `t_tougao`;

CREATE TABLE `t_tougao` (`id` INT(11) NOT NULL AUTO_INCREMENT COMMENT '投稿id',`biaoti` VARCHAR(255) DEFAULT NULL COMMENT '标题',`neirong` VARCHAR(5000) DEFAULT NULL COMMENT '内容',`shijian` VARCHAR(255) DEFAULT NULL COMMENT '时间',`zuozhe` VARCHAR(255) DEFAULT NULL COMMENT '作者',`zuozheid` INT(11) DEFAULT NULL COMMENT '作者id',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',`mingzi` 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='用户';

添加投稿模块:

在tougaoController中定义tianjiatougaoact接收页面传入的投稿参数,定义为tougao。其中tougao包含字段:标题,内容,时间,作者,作者id,使用tianjiatougaoact将该投稿对象存入数据库中,在tougaoMapper中定义了insert方法,匹配数据库中的insert into tougao语句实现将投稿数据存入数据库的操作。该部分核心代码如下:

通过tougaodao的insert方法将页面传输的投稿添加到数据库中 tougaodao.insert(tougao);

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

返回投稿管理界面

return "forward:/tianjiatougao.action";

查询投稿模块:

投稿的查询模块实现方式为,在页面中发起tougaoguanli.action请求。通过该请求,响应服务器tougaoController类中的tougaoguanli,在该方法中通过selectByexample进行数据的查询操作。将所有的投稿信息查询后,保存到request中的tougaoall中,在页面中进行展示,返回tougaoguanli.jsp,该部分核心代码如下所示:

生成投稿样例类,通过example定义查询条件 TougaoExample example = new TougaoExample();

通过tougaodao的selectByExample方法查询出所有的投稿信息 List tougaoall = tougaodao.selectByExample(example);

将投稿信息,保存到request中,在页面通过foreach方法进行展示 request.setAttribute("tougaoall", tougaoall);

返回投稿管理界面

return "forward:/tougaoguanli.action";

修改投稿模块:

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

通过tougaodao的修改方法根据id修改对应的投稿 tougaodao.updateByPrimaryKeySelective(tougao);

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

返回投稿管理界面

return "forward:/tougaoguanli.action";

删除投稿模块:

删除投稿功能实现在tougaoController中,实现方法为shanchutougao。在页面中通过get方法shanchutougao.action?Id的形式将需要删除的投稿id上传到服务器中,响应对应的方法,调用tougaodao中的deleteByPrimaryKey方法,完成删除操作。将删除成功的提示信息返回到页面中,完成删除数据的操作。该部分核心代码:

通过tougaodao的删除方法根据id删除对应的投稿 tougaodao.deleteByPrimaryKey(id);

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

返回投稿管理界面

return "forward:/tougaoguanli.action";

01-22 18:54