课程设计论文基于Java平台的学报管理系统的设计.doc

上传人:laozhun 文档编号:2387647 上传时间:2023-02-17 格式:DOC 页数:15 大小:124.50KB
返回 下载 相关 举报
课程设计论文基于Java平台的学报管理系统的设计.doc_第1页
第1页 / 共15页
课程设计论文基于Java平台的学报管理系统的设计.doc_第2页
第2页 / 共15页
课程设计论文基于Java平台的学报管理系统的设计.doc_第3页
第3页 / 共15页
课程设计论文基于Java平台的学报管理系统的设计.doc_第4页
第4页 / 共15页
课程设计论文基于Java平台的学报管理系统的设计.doc_第5页
第5页 / 共15页
点击查看更多>>
资源描述

《课程设计论文基于Java平台的学报管理系统的设计.doc》由会员分享,可在线阅读,更多相关《课程设计论文基于Java平台的学报管理系统的设计.doc(15页珍藏版)》请在三一办公上搜索。

1、基于Java平台的学报管理系统的设计【摘要】本文介绍了基于Java平台、利用MVC设计模式的B/S框架的学报信息管理系统的开发过程,主要包括需求分析、功能划分、数据库设计、系统实现等方面。根据稿件的处理过程定义了稿件在系统中的八种状态和相应处理方法。系统体现了Java在Web应用系统设计领域的强大功能。关键词:MVC Web JSP 学报信息管理系统目 录摘要-I目录-第1章 引言-1第2章 MVC设计模式的简介 -2第3章 系统分析与实现-33.1 系统分析-33.2 后台数据库的设计-6 3.3 系统实现-6总结-11致谢-12参考文献-13第1章 引言当今社会是信息社会,信息化已经深入社

2、会的各个方面。随着科学技术的发展,全球信息化时代的全面到来,数字化科技将为未来社会建立起“数字世界新秩序”,数字化信息将成为人类社会的重要支柱之一。我院学报编辑部正在逐步加快实现信息化的脚步,为了更加方便投稿作者和编辑部内部工作人员处理稿件,建立期刊网络管理平台势在必行。本课题分析并设计了学报信息管理系统,它具备了较完善的信息管理功能,包括用户注册、稿件信息管理、专家库信息管理等,系统基于Java平台,利用SQL Server 2000作为后台数据库,设计过程中利用MVC(Model-View-Control,模型-视图-控制器)的设计模式。第2章 MVC设计模式的简介MVC是80年代Smll

3、talk-80出现的一种软件设计模式,现在已经被广泛使用,它强制性地把应用程序的输入、处理和输出分开。MVC把应用程序分成三个核心模块:模型、视图和控制器,它们分别担负不同的任务。(1)、视图视图是用户看到并与之交互的界面。视图向用户显示相关的数据,并能接收用户的输入数据,但是并不进行任何实际的业务处理。视图可以向模型查询业务状态,但不能改变模型。视图还能接受模型发出的数据更新事件,从而对用户界面进行同步更新。(2)、模型模型是应用程序的主体部分。模型表示业务数据和业务逻辑。一个模型能为多个视图提供数据。由于同一个模型可以被多个视图重用,所以提高了应用的可重用性。(3)、控制器控制器接受用户的

4、输入并调用模型和视图去完成用户的需求。当Web用户单击Web页面中的提交按钮来发送HTML表单时,控制器接收请求并调用相应的模型组件去处理请求,然后调用相应的视图来显示模型返回的数据。(4)、MVC处理过程首先控制器接收用户的请求,并决定调用哪个模型来进行处理,然后模型根据用户请求进行相应的业务逻辑处理,并返回数据,最后控制器调用相应的视图来格式化模型返回的数据,并通过视图呈现给用户。(5)、MVC的优点多个视图能共享一个模型。在MVC设计模式中,模型响应用户请求并返回响应数据,视图负责格式化数据并把它们呈现给用户,业务逻辑和表示层分离,同一个模型可以被不同的视图重用,所以大大提高了代码的可重

5、用性。另外,模型是自包含的,与控制器和视图保持相对独立,所以可以方便地改变应用程序的数据层和业务规则。如果把数据库从一个移植到另一个,只需要改变模型即可。一旦正确地实现了模型,不管数据来自哪个数据库,视图都会正确地显示它们。由于MVC的三个模块相互独立,改变其中一个不会影响其他两个,所以依据这种设计思想能构造良好的松耦合的构件。此外,控制器提高了应用程序的灵活性和可配置性。控制器可以用来连接不同的模型和视图去完成用户的不同需求。给定一些重用模型和视图,控制器可以根据用户的需求选择适当的模型进行处理,然后选择适当的视图将处理结果显示给用户1。第3章 系统分析与实现3.1 系统分析本系统包括普通浏

6、览者、注册用户及投稿人、审稿专家、编辑部工作人员(包括栏目编辑和主编)四角色,各自所需功能说明如下:(1)、普通浏览者,可查看、搜索和下载已经发表的论文。(2)、注册用户,可进行的操作:a、投稿;b、修改个人信息(密码,个人基本信息以及研究方向);c、查看所投稿件的状态;d、下载需要校对的稿件,上传校对后的稿件;e、查看稿费。(3)、审稿专家:必须是编辑部工作人员添加的,可进行的操作:a、下载审阅编辑部工作人员指定的需要审核的稿件,并给出审稿意见和稿件是否可以发表的建议;b、修改自己的信息(个人基本信息以及研究方向)但要提交给编辑部工作人员审核;c、查看自己审阅过的稿件和审稿费用。(4)、栏目

7、编辑人员,由主编添加,可进行的操作:a、添加审稿专家,查看专家的信息并审核该专家是否具有审稿资格;b、为未发表的稿件选择合适的审稿专家,直接决定某篇稿件是否可以发表,但必须给出审稿意见并提交给主编查看审核;c、修改个人信息(密码和个人基本信息);d、搜索人员和稿件信息。(5)、主编,可进行的操作:a、添加,删除栏目编辑,以及修改栏目编辑信息;b、添加审稿专家,查看专家的信息并审核该专家是否具有审稿资格;c、为未发表的稿件选择合适的栏目编辑;d、可直接决定稿件是否可以发表,如果稿件被退稿要给出退稿理由,同时把退稿理由以电子邮件的形式发送到投稿人的电子信箱中;e、修改个人信息(密码和个人基本信息)

8、;f、搜索人员和稿件信息。根据以上分析,本系统有两大主模块:投稿模块和审稿模块,详细模块结构分析如图1所示,各个模块的功能及其之间的关系说明如下:信息管理系统投稿模块审稿模块注册模块投稿模块信息搜索模块邮件发送模块稿件信息管理模块人员信息管理模块图1 系统模块示意图注册模块主要负责把用户的注册信息保存到数据库中,注册完成后自动调用邮件发送模块把注册用户的用户名和密码发送到注册用户填写的电子邮箱中。投稿模块主要负责把注册用户的投稿信息保存到数据库中并把稿件上传到服务器端指定的目录下,该模块包含一个文件上传子模块,使用第三方开发的javasmartupload.jar包来实现文件的上传2。信息搜索

9、模块和邮件发送模块被投稿模块和审稿模块共同使用。信息搜索模块方便普通浏览者,投稿人,审稿专家,编辑部工作人员搜索人员和稿件的信息。但权限不同搜索到的信息及其类型范围不同。邮件发送模块主要负责把一些信息发送到指定邮箱中。稿件信息管理模块主要负责处理稿件在被审核过程中的状态,并来提醒相应的人员进行处理。人员信息管理模块只能由编辑部工作人员的使用,包括专家库信息管理和工作人员信息管理。 稿件作为本系统的处理的核心,其处理过程如图2所示:稿件由系统注册用户上传到服务器端,首先由主编审核,可以直接决定稿件是否合格,主编根据稿件的研究方向把稿件发给合适的栏目编辑;栏目编辑审核稿件,系统根据稿件的研究方向和

10、审稿专家的研究方向,列出符合审稿的专家,栏目编辑把稿件发送给合适的专家;专家审稿后给出审稿意见和稿件是否可以发表的建议,然后提交给栏目编辑进行二次审核;栏目编辑根据专家审稿意见填写自己的意见提交给主编进行二次审核;主编结合栏目编辑和审稿专家的意见来决定稿件是否通过,不合格需要填写退稿理由以电子邮件的形式发给投稿人,合格稿件进入校对状态,此时是通过编辑部工作人员来提醒;三次校对后稿件进入发表状态,由编辑部确定稿件的发表年份和发表期数;稿件发表后,网站的普通浏览者可以下载查考。根据稿件的处理过程,定义了稿件在系统中有八种状态:(1)、未审(稿件在主编的手中)(2)、通过主编的审核,并已由主编发给栏

11、目编辑,等待选择审稿专家(稿件在栏目编辑的手中)(3)、通过栏目编辑的审核,选择合适的审稿专家(稿件在专家的手中)(4)、通过审稿专家的审核,提交给栏目编辑查看(稿件在栏目编辑的手中)(5)、栏目编辑把查看后的稿件提交给主编(稿件在主编的手中)(6)、通过主编审稿查看,稿件进入校对状态(校对状态)(7)、三次校对后进入发表状态(已发表)(8)、未通过审稿稿件上传不合格不合格合格合格合格(进入校对状态)可以被普通用户查看图2 稿件的处理过程通知投稿人到编辑部下载审稿意见对稿件进行校对,共需三次校对栏目编辑主编发表,确定稿件的发表年份和发表期刊主编根据稿件的研究方向,把稿件发给指定的栏目编辑专家审

12、稿时给出对稿件的意见,同时给出该稿件是否可以发表的意见该部分,不是通过系统来提醒投稿人,而是编辑部工作人员来提醒 退稿,并用邮件通知投稿人主编审核栏目编辑审核专家审核合格3.2 后台数据库的设计本系统使用SQL Server2000作为后台数据库,建立了一个名为tougao的数据库,以下是几个重要表的介绍:user表作用是保存注册用户及投稿人的信息,共包含17个字段:注册用户名uID必需是唯一的、密码uPwd、实姓名uName、年龄uAge、所属民族uNation、工作单位uUnit、职称uPPost、职位uPost、学历uLevel、电子邮箱uEmail、通信地址uAddress、邮政编码u

13、ZipCode、联系电话uTel、一级研究方向uDOne、二级研究方向uDTwo、三级研究方向uDThree以及主键id用来编号。paper表作用是保存投稿的信息,共包含29个字段:投稿人及该用户的注册用户名uID、稿件的中文名pCName、稿件的英文名pEName、作者pAuthor、稿件的联系人pConnecter、通讯地址pAddress、邮政编码pZipCode、联系电话pTel、稿件的中文摘要pCAbstract、英文摘要pEAbstract、稿件的一级研究方向pDOne、稿件的二级研究方向pDTwo、稿件的三级研究方向pDThree、稿件的项目基金pFundItem、稿件的所属中国

14、图书分类号pBookType、所属中国图书分类的子项名pBookItem、稿件的状态pState、投稿费用pTBonus、审稿专家的用户名eID、审稿费用pSBonus、专家审稿意见pIdea、专家对该稿件是否可以发表的意见pPass(1:通过0:未通过)、稿件发表的年份pYear、稿件发表的期数pMonth、负责该稿件审核的栏目编辑wID、记录稿件在服务器中的位置pPath、栏目编辑的审稿意见pWIdea、主编的审稿意见pAIdea以及主键id用来编号。稿件的一级研究方向、二级研究方向和三级研究方向三个字段不仅说明所投稿件的研究方向,更为了方便以后栏目编辑选择合适的审稿专家。expert表作

15、用是保存审稿专家的信息,共包含18个字段:专家用户名eID必需是唯一的、密码ePwd、真实姓名eName、民族eNation、年龄eAge、工作单位eUnit、职称ePPost、职位ePost、学历eLevel、电子邮箱eEmail、通信地址eAddress、邮政编码eZipCode、联系电话eTel、记录审稿专家是否通过编辑部的审核ePass(1:通过0:未通过)、专家的一级研究方向eDOne、二级研究方向eDTwo、三级研究方向eDThree、以及主键id来编号。专家的用户名必须唯一并且专家的用户名和密码是由编辑部工作人员添加的,其他的基本信息是由专家自己填写并提交给编辑部工作人员审核。w

16、orker表作用是保存工作人员的信息,共包含7个字段:用来记录工作人员的登录用户名wID必需是唯一的、密码wPwd、真实姓名wName、职位wPost、电子邮箱wEmail、联系电话wTel、以及主键id用来编号。主编和栏目编辑都属于工作人员,但主编的用户名admin开始就存储在数据库中,栏目编辑的信息由主编负责添加。上面的四个表是通过paper表来实现连接的,其中的uID、eID和wID分别用来记录表user、expert和worker中唯一的用户登录名。3.3 系统实现1、系统开发环境 在众多的网络开发语言中选择了JSP,因为它具有高可靠性和方便的移植性,以及优秀的平台开发解决方案。本系统

17、的开发环境如下:(1)、系统开发操作系统:Windows2000 Server(2)、Java运行环境:jdk_1_5(3)、服务器引擎:Tomcat5.0.19(4)、系统开发数据库系统:MS SQL Server 2000(5)、图形化开发工具: Eclipse系统的主页如图4所示:图4 主页登录系统主页的用户可以查阅和搜索已经发表的稿件的基本信息,同时可以下载稿件参考,以下是几个模块的实现过程的介绍。2、 MVC模式应用下面以用户登录的前后处理过程来说明设计系统使用的MVC设计模式。用户登录类型共三种:注册用户,审稿专家,编辑部工作人员。用户输入登录信息后,把信息提交给控制器Main。M

18、ain是一个Servlet,完全的java类,担当控制器的功能,在Main中得到用户的输入信息,如果用户名,密码和用户类型任一个为空,则控制器直接选择视图login.jsp返回给用户,提示用户输入有错误。否则调用模型中的类DB.java和类ValidateUser共同来完成用户的验证,验证成功后返回相应用户类型的操作界面,不成功则返回登录界面login.jsp,提示用户操作错误。总的控制模型图如图3所示1:3、 数据库连接类DB.java和数据库配置文件db.properties来共同完成数据库的连接。存取信息应用服务器和数据库浏览器选择 实例化调用 选择控制器模 型验 证视图输入登陆请求信息

19、响应图3 控制模型图类DB.java共有七个方法及其核心代码的说明如下5:(1)、public DB() 类的构造函数,从文件db.properties中得到连接数据库的驱动程序,连接的数据库名,登录用户名和密码(2)、public void connect() 加载驱动程序,并实现与数据库的连接 Class.forName(dr);/加载驱动程序cn = DriverManager.getConnection(ur,user,password);/建立与数据库tougao的连接(3)、public void createSM() 创建执行SQL语句的Statement对象sm = cn.cr

20、eateStatement();/建立Statement对象在默认情况下,同一时间每个Statement对象只能打开一个ResultSet对象。因此,如果读取一个ResultSet对象与读取另一个交叉,则这两个对象必须是由不同的Statement对象生成的。因此用这个方法可以避免在同一个页面同时使用多个ResultSet对象,当已经存在ResultSet对象时,为了能够继续得到ResultSet对象,必须再创建一个Statement对象6。(4)、public ResultSet getSet(String str) 根据传入的sql语句查询数据库,得到一个ResultSet集合rs = sm

21、.executeQuery(str);/执行查询语句,返回记录结合(5)、public boolean updateDB(String str) 根据传入的sql语句更新数据库sm.executeUpdate(str);/执行插入,删除等更新数据库的操作 (6)、public void closeSM() 关闭一个Statement对象sm.close();(7)、public void close()断开与数据库的连接cn.close();数据库配置文件db.properties的说明如下:driver=com.microsoft.jdbc.sqlserver.SQLServerDriver

22、 /数据库驱动程序url=jdbc:microsoft:sqlserver:/localhost:1433;DatabaseName=tougao/连接的数据库username=sa/用户名password=sa/密码DB.java读取配置文件中的信息,这种方法可以方便系统在不同类型数据库上的使用,提高了系统的可移植性。在使用不同的数据库时只要改变数据库驱动程序,要连接的数据库名,以及用户名和密码.不需要重新编译DB.java文件,即可完成数据库的操作。4、稿件上传稿件上传及文件上传,jsp中使用第三方开发的javasmartupload.jar包来实现文件的上传,运用程序的目录下/user/

23、uploadfile.jsp文件来实现稿件上传,以下是该页面中的实现稿件上传的过程及其核心代码的说明:/定义目标目录String destination=/upload/; /初始化对象mySmartUpload.initialize(pageContext); /文件上传 mySmartUpload.upload(); String paperPath = null;/文件上传路径/得到所有上传文件的信息com.jspsmart.upload.File myFile = mySmartUpload.getFiles().getFile(0); if(!myFile.isMissing() /

24、得到文件的上传位置paperPath = destination + myFile.getFileName();/把文件保存到服务器端指定的目录中myFile.saveAs(paperPath);通过以上的步骤即可实现把客户端要投的稿件上传到服务器端指定的目录中,同时把paperPath保存到数据库的表paper中pPath字段里,这样为了方便以后稿件的下载。5、审稿模块审稿模块是该系统的核心部分,是通过设置稿件的8种状态来把稿件分配给不同的用户进行审核来完成的。以下通过审稿流程来说明审稿模块是如何实现的。(1)、表paper中的字段pState是用来表示稿件的状态默认值为1,及用户投稿后稿件

25、的状态;此时的稿件只有主编有权限使用。主编可以查看下载查看稿件的内容,可以直接退稿并给出退稿理由,同时把退稿理由以电子邮件的形式发送给投稿人,并把pState的值设置为8(未通过审稿)。通过主编的第一次审核后把稿件发给合适的栏目编辑,此时把pState的值改为2,并且把该记录中的wID设置为主编选择的栏目编辑的登录用户名,此时该稿件归该栏目编辑所有。(2)、栏目编辑可以下载查看稿件的内容,可以退稿并给出退稿理由提交给主编第二次审核,并把pState的值设置为5。通过栏目编辑的第一次审核后可为稿件选择合适的审稿专家,并把pState的值设置为3,同时设置该记录中的eID的值为该审稿专家的登录用户

26、名。审稿专家的选择依据稿件的研究方向和审稿专家的研究方向。系统自动的以电子邮件的方式提醒审稿专家登录编辑部网站下载审稿审核。(3)、专家审稿完成后设置pState的值为4,给出审稿意见,同时给出该稿件是否可以发表的意见,如果可发表则设置paper表中的pPass的值为1,否则为0,提交给栏目编辑进行第二次审核。(4)、栏目编辑进行第二次审核,查看专家的审稿意见,并给出自己的意见提交给主编第二次审核,同时设置pState的值为5。(5)、主编进行第二次审核,并结合栏目编辑和审稿专家的意见,给出稿件是否通过审稿。如果通过设置pState的值为6进入校对状态,编辑部通知投稿人登录编辑部网站查看该编辑

27、部以及审稿专家对该稿件的意见进行校对。如果未通过,设置pState的状态为8,同时把意见以电子邮件的形式发给投稿人。(6)、稿件进入校对状态,校对完成后,稿件进入发表状态,设置pState的值为7,至此审稿过程结束。总 结通过这次毕业设计,我对Java语言有了一个更深入地了解。目前本系统主要功能模块运行正常,但在性能与效率还有待提高,如数据库操作方面,频繁的连接和关闭数据库,消耗了大量的系统资源。用JSP来实现的视图页面中仍然有不少Java代码,HTML代码和Java程序及数据显示和业务逻辑强耦合在一起,页面美工方面很不足,系统功能模块之间的耦合度比较高。致 谢在本文结束之际,首先要向我的指导

28、老师致以崇高的敬意和衷心的感谢。老师在专业课程的学习、素材的收集、课题的确立、资料的查阅都给以的热忱的关怀和细心的指导,感谢他在百忙之中抽出时间并耐心的给我讲解毕业设计中的难点和疑点。老师严谨的治学态度、渊博的学识、对事业的兢兢业业、不断进取的精神,为我今后的生活及工作树立了榜样。最后,向所有关心和帮助过我的人表示衷心的感谢!参考文献1、孙卫琴.精通struts:基于MVC的Java Web设计与开发. 北京:电子工业出版社,2004:9-132、3、隆华软件工作室.SQL SERVER 2000程序设计.北京:清华大学出版社,2004:33-1564、王珊,萨师煊.数据库系统概论(第三版). 北京:高等教育出版社,2000:76-1095、Tim研究室,萧仁惠,陈锦辉.JDBC数据库程序设计. 北京:中国铁道出版社,2004.6、

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 建筑/施工/环境 > 项目建议


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号