期刊学报网络投稿系统,基于B/S的JAVA系统
每天记录学习,每天会有好心情。*^_^*
今天记录的项目是期刊学报网络投稿系统,这个项目是这么回事:为了解决目前通过电子邮件网上投稿存在的弊端,提高期刊编辑部工作效率,参照传统期刊编辑部工作流程,在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";
原文地址:https://www.cnblogs.com/bfmbch/p/11587404.html
- 【Java提高十七】Set接口集合详解
- 如何科学地蹭热点:用python爬虫获取热门微博评论并进行情感分析
- 使用ETag进行session的降级
- 关于oracle中的反连接(r3笔记第95天)
- 用Python爬取网易云音乐的用户评论文本
- grunt任务之seajs模块打包
- 【Java提高十八】Map接口集合详解
- Spring+SpringMVC+MyBatis+easyUI整合基础篇(五)讲一下maven
- Thinking in React
- 【Java提高十六】集合List接口详解
- JS的内建函数reduce
- Error: Cannot find module 'gulp-clone'问题的解决
- Spring+SpringMVC+MyBatis+easyUI整合基础篇(四)代码简化
- Angular源码分析之$compile
- java教程
- Java快速入门
- Java 开发环境配置
- Java基本语法
- Java 对象和类
- Java 基本数据类型
- Java 变量类型
- Java 修饰符
- Java 运算符
- Java 循环结构
- Java 分支结构
- Java Number类
- Java Character类
- Java String类
- Java StringBuffer和StringBuilder类
- Java 数组
- Java 日期时间
- Java 正则表达式
- Java 方法
- Java 流(Stream)、文件(File)和IO
- Java 异常处理
- Java 继承
- Java 重写(Override)与重载(Overload)
- Java 多态
- Java 抽象类
- Java 封装
- Java 接口
- Java 包(package)
- Java 数据结构
- Java 集合框架
- Java 泛型
- Java 序列化
- Java 网络编程
- Java 发送邮件
- Java 多线程编程
- Java Applet基础
- Java 文档注释
- Python单元测试
- 获取当前时间的标准时间,转换为年月日:时分秒的格式,以及dayjs的使用
- 8086汇编语言——双层循环的使用
- 在Linux中对文件的编码及对文件进行编码转换操作
- shutil模块,为什么说它是os模块的兄弟模块?
- HTML5+CSS3项目实战之河马牙医首页、百度首页、Mac桌面、简书首页、登录注册页面、苏宁易购首页
- 【Vue.js】Vue.js中的Vuex、Vue-Ajax和京东购物车项目实战
- ubuntu16.04安全小结-01
- 重新认识HTTP3xx重定向机制
- 【Vue.js】Vue.js中常用的UI组件库和Vue Router
- 四大查找算法
- 从Python调用堆栈获取行号等信息
- 详解supervisor进程管理
- Python时间模块常用操作总结
- rtmp规范1.0