javaweb课程设计-在线投稿系统_第1页
javaweb课程设计-在线投稿系统_第2页
javaweb课程设计-在线投稿系统_第3页
javaweb课程设计-在线投稿系统_第4页
javaweb课程设计-在线投稿系统_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1 数据库应用系统 课程设计报告 题 目: 某期刊的在线投稿审稿管理系统的设计与实现 院系名称:信息科学与工程学院 指导教师: 唐建国 教师职称: 讲师 2016 年 12 月 2 目录 1 引言 3 2 需求分析 3 3 小组分工 5 4 数据库设计 5 4.1 ER 图 .5 4.2 关系模式 6 4.3 物理结构设计 6 4.4 Sql 语句以及存储过程 8 5 概要设计 .11 5.1 详细设计 .12 6 测试分析 .19 7 测试结果 .20 8 心得体会 .21 3 1 引言 随着网络普及程度的提高,人们的办公观念和方式都发生了重大的改变,基于 网络的无纸化办公也越来越深入人心。一个好的在线投稿系统,也让杂志社给 读者形成一个好的的印象。许多杂志社、报社的编辑部都已意识到实现网上办 公和在线处理稿件的重要性和紧迫性。 在线投稿和稿件处理系统有效地解决 了传统模式下投递和送审的各种弊端,实现了作者的投稿、信息查询、信息反 馈的便捷处理和编辑部规范高效化办公,从而节省了稿件处理的时间和流通费 用,提高了稿件投递和投审的效率和安全性,同时也保证了杂志社所有的编辑 能够在相同的业务平台进行业务处理,适应了集中管理的需要。通过规范流程、 强化内部管理,建立强大的数据库,为数据分析、人员管理等提供强大的支持, 为用户、专家、编辑提供了安全的权限设置,使稿件分级处理,避免了处理流 程的混乱,减低工作量、减少重复劳动。 利用在线投稿与稿件处理系统,作 者只要进行注册,即可进行稿件的投递与查阅,编辑部和专家可以将传来的稿 件存盘后即可在电脑上进行编辑加工即在线编辑,既简便又准确,又提高期刊 编辑出版的效率。 开发此系统是为了提高办公效率,适应信息网络时代期刊 发展的趋势,也为了满足人们对信息实时性、安全性及便捷性的需求 2 需求分析 报投稿管理系统是一个典型的数据库开发应用程序,由投稿管理、审稿管理、 稿件管理、审稿人管理、系统管理等部分组成,规划系统功能模块如下: 投稿人模块分为三小块:(本人完成的投稿人模块) 投递稿件:主要是将自己的稿件进行上传,以及其他信息 查看投稿状态:查阅自己投递的稿件是否通过,以及稿费 修改个人信息:主要是个人联系方式的修改 4 该模块主要功能是接收投稿人的基础信息,以便完成后续投稿工作。包括投稿 人的联系方式,以及电话等等 审稿人模块分为两个模块 审稿:主要功能是对投稿人提交的稿件进行审核给出相应的审核意见,期间审 稿人可以跟管理员进行相应得会话以提高稿件的审核进度,最后审稿人可以管 理已经审核的稿件 修改个人信息:主要是个人联系方式 管理员模块分为四个模块:(本人完成分配稿件,管理版面费,稿费模块) 分配稿件任务:管理员将上传的稿件进行分配给审稿人,让审稿人进行审查 管理审稿人:主要是对审稿人的增加删除的管理 查看审查状态:查看已经审阅通过的稿件 管理版面费,稿费:看到已经审阅过的稿件,输入相应的版面费,稿费 投 稿 管 理 系 统 审稿人 管理员 投稿人 分配稿件任务 管理审稿人 查看审稿状态 管理版面费,稿费 个人设置 审稿 投递稿件 查看投稿状态 修改个人信息 5 3 小组分工 本人完成的模块包括: 投稿人模块的三个模块,以及管理员模块中的分配稿件,管理 版面费,稿费模块,引言,数据库系统需求描述 共同完成部分: 存储过程,er 图,数据库的设计,触发器,关系模式 4 数据库设计 4.1 ER 图 6 说明: 投稿人与稿件是投稿关系,1:n,生成投稿时间,审稿费,审稿费状态 审稿人与稿件是审稿关系,m :n,生成审查状态,是否通过,评语 管理员与稿件是管理关系,m:n,生成发表时间,稿费,稿费状态,版面费,版面费 状态 4.2 关系模式 关系模型: 投稿人:(账号,密码,姓名,电话,地址,邮箱,银行卡号) 稿件: (编号,标题,摘要,类型,字数,投稿时间,审稿费,审稿费状态,作者账号) 审稿人:(账号,密码,姓名,电话) 管理员:(账号,密码,姓名,电话) 审稿: (审稿人账号,稿件编号,审查状态,是否通过,评语) 稿件管理:(管理员账号,稿件编号,发表日期,稿费,稿费状态,版面费,版面费状态) 4.3 物理结构设计 投稿人表:writer 字段名称 字段类型 是否为空 字段描述 备注 writerId int Not null 投稿人登录的账号 PK password Varchar(30) Not null 投稿人密码 name Varchar(30) Not null 投稿人姓名 phone Nchar(11) Not null 电话 address Varchar(100) Not null 通信地址 email Varchar(30) Not null 邮箱 cardID Varchar(30) Not null 银行卡号 稿件表:article 字段名称 字段类型 是否为空 字段描述 备注 articleId int Not null 稿件编号 PK title Varchar(50) Not null 标题 abstract Varchar(1000) Not null 摘要 type Varchar(50) Not null 类型 length int Not null 字数 time Datetime Not null 投稿日期 reviewfee float Not null 审稿费 reviewfeeStatu s Varchar(30) Not null 审稿费状态 writerId int Not null 投稿人 id FK,对应 writer 表 7 的 writerid 审稿人:(账号,密码,姓名,电话) Reviewer 字段名称 字段类型 是否为空 字段描述 备注 reviewerID int Not null 审稿人账号 PK password Varchar(30) Not null 密码 name Varchar(30) Not null 姓名 phone Nchar(11) Not null 电话 管理员:(账号,密码,姓名,电话) Administrator 字段名称 字段类型 是否为空 字段描述 备注 adminID int Not null 管理员账号 PK password Varchar(30) Not null 密码 name Varchar(30) Not null 姓名 phone Nchar(11) Not null 电话 审稿: (审稿人账号,稿件编号,审查状态,是否通过,评语) Review 字段名称 字段类型 是否为空 字段描述 备注 reviewerID int Not null 审稿人 ID PK 联合主键 FK Reviewer 表的 外键 articleID Int Not null 稿件编号 PK FK Article 表的外键 reviewStatus Varchar(30) Not null 审查状态 passed Varchar(30) 记录稿件是否通过 comments Varchar(1000) 审稿人的评语 稿件管理:(管理员账号,稿件编号,发表日期,稿费,稿费状态,版面费,版面费状态) articleManagement 字段名称 字段类型 是否为空 字段描述 备注 adminID int Not null 审稿人 ID PK 联合主键 FK administrator 表的外键 articleID int Not null 已经通过的稿件编 号 PK 联合主键 FK article 表的 外键 date datetime Not null 发表日期 8 articleFee float 稿费 articleFeeStatus Varchar(30) Not null 稿费发放状态 spaceFee float 版面费 spaceFeeStatus Varchar(30) Not null 版面费是否收到 4.4 Sql 语句以及存储过程 create database onlineSubmission; use onlineSubmission; CREATE TABLE writer ( writerId int Not null primary key, password Varchar(30) Not null, name Varchar(30) Not null, phone Nchar(11) Not null, address Varchar(100) Not null , email Varchar(30) Not null, cardID Varchar(30) Not null ) ; CREATE TABLE article ( articleId int Not null primary key, title Varchar(50) Not null, abstract Varchar(1000)Not null, type Varchar(50) Not null, length int Not null, time datetime Not null , reviewfeefloat Not null, reviewfeeStatus Varchar(30) Not null, writerId int Not null , foreign key(writerId) references writer(writerID) ) ; CREATE TABLE reviewer ( reviewerID int Not null primary key, password Varchar(30) Not null , name Varchar(30) Not null, phone Nchar(11) Not null, ) 9 ; CREATE TABLE administrator ( adminID int Not null primary key, password Varchar(30) Not null , name Varchar(30) Not null, phone Nchar(11) Not null ) ; CREATE TABLE review ( reviewerID int Not null, articleID int Not null, reviewStatus Varchar(30) Not null, passed Varchar(30) , comments Varchar(1000), primary key(reviewerID,articleID), foreign key(reviewerID) references reviewer(reviewerID), foreign key(articleID) references article(articleID) ) ; CREATE TABLE articleManagement ( adminID int Not null, articleID int Not null, date datetime Not null, articleFeefloat , articleFeeStatus Varchar(30) Not null, spaceFee float , spaceFeeStatus Varchar(30) Not null, primary key(adminID,articleID), foreign key(adminID) references administrator(adminID), foreign key(articleID) references article(articleID) ) CREATE PROCEDURE getreviewerlist pageSize INT, pageIndex INT as SELECT reviewerid,password,name,phone FROM ( SELECT TOP ( pageSize * pageIndex ) ROW_NUMBER() OVER ( ORDER BY reviewerid Asc ) AS rownum , 10 * FROM reviewer ) AS temp WHERE temp.rownum ( pageSize * ( pageIndex - 1 ) ) ORDER BY temp.reviewerid USE online GO /* Object: StoredProcedure dbo.getArticleBywriterIDPage Script Date: 2017/1/2 16:42:34 */ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO ALTER PROCEDURE dbo.getArticleBywriterIDPage pageSize INT, pageIndex INT, writerid int as SELECT articleid,title,abstract,type,length,time,reviewfee,reviewfeestatus,writerid FROM ( SELECT TOP ( pageSize * pageIndex ) ROW_NUMBER() OVER ( ORDER BY articleID Asc ) AS rownum , * FROM article where writerid = writerid ) AS temp WHERE temp.rownum ( pageSize * ( pageIndex - 1 ) ) ORDER BY temp.articleid USE online GO /* Object: StoredProcedure dbo.getreviewerlist Script Date: 2017/1/2 16:43:06 */ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO ALTER PROCEDURE dbo.getreviewerlist pageSize INT, pageIndex INT as SELECT reviewerid,password,name,phone FROM ( SELECT TOP ( pageSize * pageIndex ) ROW_NUMBER() OVER ( ORDER BY reviewerid Asc ) AS rownum , * 11 FROM reviewer ) AS temp WHERE temp.rownum ( pageSize * ( pageIndex - 1 ) ) ORDER BY temp.reviewerid 5 概要设计 该系统采取的是 web 开发模式,采用 mvc 架构,具体环境如下: 开发环境:MyEclipse 2015。 开发语言:JSP+JAVA+servlet。 后台数据库:mysql。 开发环境运行平台:Windows10 浏览器:FireFox。 投稿人: 管理员模块: 12 审稿人模块: 5.1 详细设计 13 投稿人: package com.online.web; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.sql.Date; import java.util.List; import java.util.UUID; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import mons.fileupload.FileItem; import mons.fileupload.FileUploadException; import mons.fileupload.disk.DiskFileItemFactory; import mons.fileupload.servlet.ServletFileUpload; public class upload extends HttpServlet /* * The doGet method of the servlet. * * This method is called when a form has its tag value method equals to get. * * param request the request send by the client to the server * param response the response send by the server to the client * throws ServletException if an error occurred * throws IOException if an error occurred */ public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException String path = this.getServletContext().getRealPath(“/WEB-INF/down“); DiskFileItemFactory dis = new DiskFileItemFactory(); dis.setRepository(new File(this.getServletContext().getRealPath(“/WEB- 14 INF/temp“); ServletFileUpload upload = new ServletFileUpload(dis); upload.setHeaderEncoding(“UTF-8“); List list = null; try list = upload.parseRequest(request); catch (FileUploadException e) / TODO Auto-generated catch block e.printStackTrace(); for(FileItem item : list) if(item.isFormField() /fileitem 中封装的是普通输入项的数据 String name = item.getFieldName(); String value = item.getString(“UTF-8“); if(name.equals(“time“) long i = System.currentTimeMillis(); Date d = new Date(i); java.sql.Timestamp st = new java.sql.Timestamp(d.getTime(); request.getSession(false).setAttribute(name+“1“, st); request.getSession().setAttribute(name, value); /value = new String(value.getBytes(“iso8859-1“),“UTF-8“); System.out.println(name + “=“ + value); else /fileitem 中封装的是上传文件 String filename = item.getName(); /不同的浏览器提交的文件是不一 样 c:ab1.txt 1.txt System.out.println(filename); if(filename=null | filename.trim().equals(“) continue; long i = System.currentTimeMillis(); filename = i+“+filename.substring(filename.lastIndexOf(“)+1); request.getSession().setAttribute(“file“, filename); InputStream in = item.getInputStream(); /得到文件保存的名称 /得到文件的保存目录 15 FileOutputStream out = new FileOutputStream(path + “ + filename); System.out.print(path + “ + filename); byte buffer = new byte1024; int len = 0; while(len=in.read(buffer)0) out.write(buffer, 0, len); in.close(); out.close(); item.delete(); /删除临时文件 String length2 = (String) request.getSession().getAttribute(“length“); String money = Integer.parseInt(length2)/100+“; request.setAttribute(“message“, money); request.getRequestDispatcher(“/give.jsp“).forward(request, response); /* * The doPost method of the servlet. * * This method is called when a form has its tag value method equals to post. * * param request the request send by the client to the server * param response the response send by the server to the client * throws ServletException if an error occurred * throws IOException if an error occurred */ public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException doGet(request,response); 管理员: package com.online.web.admin; import java.io.IOException; import java.util.List; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; 16 import javax.servlet.http.HttpServletResponse; import com.online.dao.Page; import com.online.service.bussiness; public class allocate extends HttpServlet /* * The doGet method of the servlet. * * This method is called when a form has its tag value method equals to get. * * param request the request send by the client to the server * param response the response send by the server to the client * throws ServletException if an error occurred * throws IOException if an error occurred */ public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException String page = request.getParameter(“page“); String page3 = request.getParameter(“pageNum“); bussiness b = new bussiness(); request.setAttribute(“rer“, b.getReviewer(); if(page=null) Page page2 = new Page(); Page pagereal = b.getAllatricle(page2); request.setAttribute(“page“, pagereal); request.getRequestDispatcher(“/admin/allocate.jsp“).forward(request, response); return; if(page.equals(“next“) Page page2 = new Page(); page2.setNext(page); page2.setPageNum(Integer.parseInt(page3); Page pagereal = b.getAllatricle(page2); request.setAttribute(“page“, pagereal); request.getRequestDispatcher(“/admin/allocate.jsp“).forward(request, response); return ; if(page.equals(“last“) 17 Page page2 = new Page(); page2.setLast(page); page2.setPageNum(Integer.parseInt(page3); Page pagereal = b.getAllatricle(page2); request.setAttribute(“page“, pagereal); request.getRequestDispatcher(“/admin/allocate.jsp“).forward(request, response); return ; if(page.equals(“firstpage“) Page page2 = new Page(); page2.setFirstPageNum(page); page2.setPageNum(Integer.parseInt(page3); Page pagereal = b.getAllatricle(page2); request.setAttribute(“page“, pagereal); request.getRequestDispatcher(“/admin/allocate.jsp“).forward(request, response); return ; if(page.equals(“lastpage“) Page page2 = new Page(); page2.setLastPageNum(page); page2.setPageNum(Integer.parseInt(page3); Page pagereal = b.getAllatricle(page2); request.setAttribute(“page“, pagereal); request.getRequestDispatcher(“/admin/allocate.jsp“).forward(request, response); return ; /* * The doPost method of the servlet. * * This method is called when a form has its tag value method equals to post. * * param request the request send by the client to the server * param response the response send by the server to the client * throws ServletException if an error occurred * throws IOException if an error occurred */ 18 public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException doGet(request,response); 审稿人: package com.online.web.reviewer; import java.io.IOException; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import com.online.dao.ReviewDAO; import com.online.domain.Review; public class DealArticleServlet extends HttpServlet /* * */ private static final long serialVersionUID = 1L; public void doGet(HttpServletRequest request, HttpServletResponse

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论