基于BS的期刊自动投稿系统开发论文定稿.docx
《基于BS的期刊自动投稿系统开发论文定稿.docx》由会员分享,可在线阅读,更多相关《基于BS的期刊自动投稿系统开发论文定稿.docx(32页珍藏版)》请在冰豆网上搜索。
基于BS的期刊自动投稿系统开发论文定稿
西安邮电大学
毕业设计(论文)
题目:
院(系):
计算机学院
专业:
计算机科学与技术
班级:
学生姓名:
导师姓名:
职称:
起止时间:
2011年09月23日至2012年06月2日
目录
摘要I
ABSTRACTII
引言1
1.论文背景及框架2
1.1研究背景2
1.2论文的研究框架2
2.系统开发工具与关键技术介绍3
2.1Jsp简介3
2.2MySQL简介3
2.3B/S模式3
2.4JDBC连接方式4
2.5hibernate框架4
2.6struts2框架5
2.7spring框架6
3.系统分析8
3.1系统可行性分析8
3.1.1技术可行性8
3.1.2操作可行性8
3.1.3操作可行性9
3.2系统描述9
3.2.1功能模块和结构图9
3.2.2功能概述10
3.3系统数据流图11
4.概要设计13
4.1体系结构设计13
4.1.1B/S模式的体系结构13
4.1.2三层结构工作原理13
4.1.3B/S模式体系结构的主要特点14
4.2数据库设计14
4.2.1概念结构设计15
4.2.2逻辑结构设计16
4.3表之间的关系19
4.3.1多对多关系19
4.3.2一对多关系19
5.详细设计与系统实现20
5.1系统界面设计与实现20
5.1.1系统登录界面20
5.2作者模块20
5.2.1作者首页个人信息查20
5.2.2作者个人信息修改21
5.2.3作者在线投稿稿界面21
5.2.4个人稿件查看22
5.2.5个人稿件修改22
5.3作者在线注册23
5.4专家模块23
5.4.1专家首页待审稿件列表23
5.4.2专家审稿页面24
5.5主编模块24
5.5.1主编首页24
5.5.2过期、弃用稿件处理25
5.5.3专家管理25
5.5.4责任编辑管理26
6.系统的功能测试27
6.1单元测试27
6.1.1登录测试27
6.1.2注册测试28
6.1.3投稿测试28
6.1.4审稿测试29
6.2集成测试29
6.3浏览器测试30
结论31
致 谢32
参考文献33
摘要
随着学术交流活动的日益活跃与频繁,大多数投稿者都是通过在期刊编辑部静态页面上发布的E-mail信箱进行投稿,工作量大,效率低,极大地制约了学术期刊的编辑出版,通过Internet网络投稿和评审已成为期刊管理的主要趋势和重要途径。
随着网络的发展,逐渐兴起了网络书稿的热潮。
这样可以实现从投稿,审稿,编辑,发行等全过程的网络化,比传统模式更加灵活方便。
基于Web的在线投稿处理系统其优点便于投稿,传统的投稿方式有邮寄和电子邮件两种。
邮寄方式投递时间长,反馈时间更长,并有投递错误、半路遗失的可能,既慢又不保险。
email方式基于网络环境下,利用广大Internet服务提供商提供的电子邮件服务投递邮件,比起传统的邮寄,这种方式在时效性和安全性上都迈进了一大步,但同时也存在着许多不足:
如作者本人邮箱容量的限制、编辑邮箱的承载量的限制等。
建立基于Web的在线投稿处理系统后,其前台的用户可以在线写稿、预览、投递,并能在第一时间内收到用稿通知;后台管理员则可在线阅读、审批来稿,从而实现投稿-采编-发布一体化。
本系统使用java语言、Mysql数据库和SSH框架,较好的实现了在线投稿处理系统相关需求,进过测试后,系统运行稳定,易于操作。
关键词jsp;javaee;Web;mysql;投稿;spring,hibernate,struts;
ABSTRACT
Alongwiththeacademicexchangeactivitiesincreasinglyactiveandfrequent,mostofthecontributorsareallbasedontheperiodicaleditorialdepartmentofstaticpagespostedontheE-mailmailboxforsubmission,workloadisbig,efficiencyislow,restrictedgreatlyacademicjournalpublishing,throughtheInternetnetworksubmissionandreviewhasbecomethemaintrendofperiodicalmanagementandtheimportantways.Withthedevelopmentofnetwork,graduallyriseoftheInternetboomofthemanuscript.Thiscanbeachievedfromthecontributors,reviewers,editors,distributionandsoonthewholeprocessofnetworking,andmoreflexiblethanthetraditionalmodelisconvenient.Webbasedonlinesubmissionsystemwhichhastheadvantagesofconvenientcontributors,thetraditionalmethodofsubmissionmailande-mailtwo.Maildeliverytimelonger,feedback,anddeliverthewrongway,lost,isslowandnotinsurance.Emailmodebasedonnetworkenvironment,usingtheInternetserviceprovideremailserviceformail,comparedwiththetraditionalmail,inthiswaythetimelinessandsafetyareabigstepforward,butalsohasmanyshortcomingssuchas:
authormailboxcapacityconstraints,editormailboxcapacityrestriction.EstablishmentofWebbasedonlinesubmissionsystem,theonstageuseronlinewriting,preview,delivery,andcaninthefirsttimereceivesthedraftnotice;thebackstageadministratorcanbereadonline,andcontribution,thusrealizingthesubmission--integrationofeditingpublishing.ThesystemusesJavalanguage,MysqldatabaseandSSHframework,abetterrealizationoftheonlinesubmissionsystemdemand,enterthetest,systemisrunningstable,easytooperate.
KeyWords:
jsp,javaee;Web;mysql;submitapieceofwritingforpublication;spring,hibernate,struts;
引言
传统的投稿方式有邮寄和电子邮件两种。
邮寄方式投递时间长,反馈时间更长,并有投递错误、半路遗失的可能,既慢又不保险。
E-mail方式基于网络环境下,利用广大Internet服务提供商提供的电子邮件服务投递邮件,比起传统的邮寄,这种方式在时效性和安全性上都迈进了一大步,但同时也存在着许多不足:
如作者本人邮箱容量的限制、编辑邮箱的承载量的限制等。
建立基于Web的在线投稿处理系统后,其前台的用户可以在线写稿、预览、投递,并能在第一时间内收到用稿通知;后台管理员则可在线阅读、审批来稿,从而实现投稿-采编-发布一体化。
在日常的稿件处理、资料信息管理方面烦琐、事务较多,主要表现在:
投稿者经常会来电询问稿件处理进展情况,而编辑们每每需要通过翻阅登记资料来回答,占用大量工作时间;对作者、稿件、专家等信息资料的维护方式很烦琐,难以查找;从而对提高工作效率、加强信息资源共享等方面,有了更高的要求。
随着计算机网络技术的发展,出版部门的稿件处理方式将会从传统的模式向网络化,批量化的方向转移。
而为了提高管理的效率,必定采取最为先进的处理方案进行处理,才能有效的节省人力和财力。
基于WEB的投稿与稿件处理系统也将会得以普及。
1.论文背景及框架
1.1研究背景
现代科技飞速的发展,图书的出版速度急剧的加快,出版的种类也越来越丰富,向出版部门投稿的作者也越来越多。
由于地域的限制,作者通常都需要将稿件邮寄到出版部门,而这样的效率极低,不利于书籍的修订和出版。
传统的稿件处理和管理系统由手工完成,浪费了大量的人力、物力,而且不利于工作效率的提高和管理水平的提升。
随着网络的发展,逐渐兴起了网络书稿的热潮。
这样可以实现从投稿,审稿,编辑,发行等全过程的网络化,比传统模式更加灵活方便。
1.2论文的研究框架
本论文分为七章,具体的内容组织如下:
1 绪论
给出课题的研究背景和研究框架。
2 系统开发工具与关键技术介绍
首先介绍了系统主要开发技术Jsp和MySQL数据库,然后介绍了系统客户-服务器的体系结构和系统完成主要用到的框架技术:
hibernate、struts、spring。
3 系统分析
通过对业务处理流程的调查,首先了解系统需求,总结出任务概述和可行性分析。
在业务调查中,给出业务流程图以及数据流图。
4 概要设计
本章主要是对功能模块和数据库的设计,给出了E-R图以及数据库表结构。
5详细设计与系统实现
本章主要给出了各模块界面设计。
6系统功能的测试
对系统主要模块的功能进行测试。
2.系统开发工具与关键技术介绍
系统主要采用了Jsp、MySQL以及三层B/S软件体系结构技术。
分别从Jsp的技术强势,MySQL数据库的特点和应用以及B/S体系结构的基本概念、工作原理等方面进行简述,以明确开发系统所使用的技术有足够的可行性。
2.1Jsp简介
JSP(JavaServerPages)是由SunMicrosystems公司倡导、许多公司参与一起建立的一种动态网页技术标准。
JSP技术有点类似ASP技术,它是在传统的网页HTML文件(*.htm,*.html)中插入Java程序段(Scriptlet)和JSP标记(tag),从而形成JSP文件(*.jsp)。
用JSP开发的Web应用是跨平台的,既能在Linux下运行,也能在其他操作系统上运行。
2.2MySQL简介
MySQL是一个小型关系型数据库管理系统,开发者为瑞典MySQLAB公司。
在2008年1月16号被Sun公司收购。
而2009年,SUN又被Oracle收购。
MySQL是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内。
这样就增加了速度并提高了灵活性。
MySQL的SQL“结构化查询语言”。
SQL是用于访问数据库的最常用标准化语言。
MySQL软件采用了GPL(GNU通用公共许可证)。
由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。
2.3B/S模式
B/S结构(Browser/Server结构)结构即浏览器和服务器结构。
它是随着Internet技术的兴起,对C/S结构的一种变化或者改进的结构。
在这种结构下,用户工作界面是通过WWW浏览器来实现,极少部分事务逻辑在前端(Browser)实现,但是主要事务逻辑在服务器端(Server)实现,形成所谓三层3-tier结构。
这样就大大简化了客户端电脑载荷,减轻了系统维护与升级的成本和工作量,降低了用户的总体成本(TCO)。
以目前的技术看,局域网建立B/S结构的网络应用,并通过Internet/Intranet模式下数据库应用,相对易于把握、成本也是较低的。
它是一次性到位的开发,能实现不同的人员,从不同的地点,以不同的接入方式(比如LAN,WAN,Internet/Intranet等)访问和操作共同的数据库;它能有效地保护数据平台和管理访问权限,服务器数据库也很安全。
●B/S结构的优点
ØB/S结构最大的优点就是可以在任何地方进行操作而不用安装任何专门的软件。
只要有一台能上网的电脑就能使用,客户端零维护。
系统的扩展非常容易,只要能上网,再由系统管理员分配一个用户名和密码,就可以使用了。
甚至可以在线申请,通过公司内部的安全认证(如CA证书)后,不需要人的参与,系统可以自动分配给用户一个账号进入系统。
2.4JDBC连接方式
JDBC(JavaDataBaseConnectivity,java数据库连接)是一种用于执行SQL语句的JavaAPI,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。
JDBC提供了一种基准,据此可以构建更高级的工具和接口,使数据库开发人员能够编写数据库应用程序,同时,JDBC也是个商标名。
功能用途:
简单地说,JDBC可做三件事:
与数据库建立连接、发送操作数据库的语句并处理结果。
下列代码段给出了以上三步的基本示例:
Connectioncon=DriverManager.getConnection("jdbc:
odbc:
wombat","login", "password");
Statementstmt=con.createStatement();
ResultSetrs=stmt.executeQuery("SELECTa,b,cFROMTable1");
while(rs.next()){
intx=rs.getInt("a");
Strings=rs.getString("b");
floatf=rs.getFloat("c");
}
上述代码对基于JDBC的数据库访问做了经典的总结,当然,在本小节的后续部分会对它做详尽的分析讲解。
2.5hibernate框架
Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。
Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序使用,也可以在Servlet/JSP的Web应用中使用,最具革命意义的是,Hibernate可以在应用EJB的J2EE架构中取代CMP,完成数据持久化的重任。
幸运的是,Spring框架为Hibernate延迟加载与DAO模式的整合提供了一种方便的解决方法。
以一个Web应用为例,Spring提供了OpenSessionInViewFilter和OpenSessionInViewInterceptor。
我们可以随意选择一个类来实现相同的功能。
两种方法唯一的不同就在于interceptor在Spring容器中运行并被配置在web应用的上下文中,而Filter在Spring之前运行并被配置在web.xml中。
不管用哪个,他们都在请求将当前会话与当前(数据库)线程绑定时打开Hibernate会话。
一旦已绑定到线程,这个打开了的Hibernate会话可以在DAO实现类中透明地使用。
这个会话会为延迟加载数据库中值对象的视图保持打开状态。
一旦这个逻辑视图完成了,Hibernate会话会在Filter的doFilter方法或者Interceptor的postHandle方法中被关闭。
实现方法在web.xml中加入
hibernateFilter
org.springframework.orm.hibernate3.support.OpenSessionInViewFilter
hibernateFilter *.do
2.6struts2框架
Struts2是Struts的下一代产品,是在struts和WebWork的技术基础上进行了合并的全新的Struts2框架。
其全新的Struts2的体系结构与Struts1的体系结构的差别巨大。
Struts2以WebWork为核心,采用拦截器的机制来处理用户的请求,这样的设计也使得业务逻辑控制器能够与ServletAPI完全脱离开,所以Struts2可以理解为WebWork的更新产品。
虽然从Struts1到Struts2有着太大的变化,但是相对于WebWork,Struts2只有很小的变化。
服务器启动后,根据web.xml加载ActionServlet读取struts-config.xml文件内容到内存。
以登录为例:
第一次进login.jsp会先实例化Form、把默认值(String默认为空字符串,整形默认为0)赋给表单元素。
输入用户名密码提交表单、提交到action属性的login.action,通过ActionServlet读struts-config.xml文件找到action下的path属性找到.action,通过name属性找form-beans中的form-bean的name属性得到ActionForm的包名类名,先实例化form,把表单的值填充给form,调用form的validate方法验证、ActionErrors返回null表示验证通过,否则失败返回input指定的页面.验证通过会实例化Action,执行Action的execute方
2.7spring框架
Spring是一个开源框架,它由RodJohnson创建。
它是为了解决企业应用开发的复杂性而创建的。
Spring使用基本的JavaBean来完成以前只可能由EJB完成的事情。
然而,Spring的用途不仅限于服务器端的开发。
从简单性、可测试性和松耦合的角度而言,任何Java应用都可以从Spring中受益。
简单来说,Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架。
轻量——从大小与开销两方面而言Spring都是轻量的。
完整的Spring框架可以在一个大小只有1MB多的JAR文件里发布。
并且Spring所需的处理开销也是微不足道的。
此外,Spring是非侵入式的:
典型地,Spring应用中的对象不依赖于Spring的特定类。
控制反转——Spring通过一种称作控制反转(IoC)的技术促进了松耦合。
当应用了IoC,一个对象依赖的其它对象会通过被动的方式传递进来,而不是这个对象自己创建或者查找依赖对象。
你可以认为IoC与JNDI相反——不是对象从容器中查找依赖,而是容器在对象初始化时不等对象请求就主动将依赖传递给它。
面向切面——Spring提供了面向切面编程的丰富支持,允许通过分离应用的业务逻辑与系统级服务(例如审计(auditing)和事务(transaction)管理)进行内聚性的开发。
应用对象只实现它们应该做的——完成业务逻辑——仅此而已。
它们并不负责(甚至是意识)其它的系统级关注点,例如日志或事务支持。
容器——Spring包含并管理应用对象的配置和生命周期,在这个意义上它是一种容器,你可以配置你的每个bean如何被创建——基于一个可配置原型(prototype),你的bean可以创建一个单独的实例或者每次需要时都生成一个新的实例——以及它们是如何相互关联的。
然而,Spring不应该被混同于传统的重量级的EJB容器,它们经常是庞大与笨重的,难以使用。
框架——Spring可以将简单的组件配置、组合成为复杂的应用。
在Spring中,应用对象被声明式地组合,典型地是在一个XML文件里。
Spring也提供了很多基础功能(事务管理、持久化框架集成等等),将应用逻辑的开发留给了你。
3.系统分析
3.1系统可行性分析
可行性分析也称为可行性研究,是在系统调查的基础上,针对新系统的开发是否具备必要性和可能性,对新系统的开发从技术、经济、社会的方面进行分析和研究,以避免投资失误,保证新系统的开发成功。
可行性研究的目的就是用最小的代价在尽可能短的时间内确定问题是否能够解决,因此该系统的可行性分析包括以下几个方面的内容。
3.1.1技术可行性
(1)硬件方面:
所要的最低硬件配置,CPU为Intel及其兼容计算机,内存至少128MB,硬盘空间至少500MB程序空间及500MB的数据空间,显示器需要VGA或更高分辨率。
所以,从以上分析看来,一般的PC机都可以使用。
(2)系统软件:
Windows98,WindowsNT或Windows2000操作系统都可以满足系统开发的要求。
(3)应用软件:
Eclipse是一个开放源代码的、基于Java的可扩展开发平台。
就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。
幸运的是,Eclipse附带了一个标准的插件集,包括Java开发工具(JavaDevelopmentKit,JDK)。
MySQL是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内。
这样就增加了速度并提高了灵活性。
MySQL的SQL“结构化查询语言”。
SQL是用于访问数据库的最常用标准化语言。
(4)操作人员:
该系统在开发过程中,本着简单易用的原则,尽可能地使用可视化开发工具(尽量少使用手工编码),以便在后期的运行维护中,避免因开发人员的变动带来太大的影响。
因此,该系统要求后期维护人员具有较强的数据库专业知识,能熟练地运用开发工具,对使用者只要求有一般的计算机使用知识即可。
3.1.2操作可行性
(1)在社会效益方面:
传统的稿件处理和管理系统大多是由人手工完成的。
浪费了大量的人力、物力,且不利于工作效率的提高和管理水平的提升。
随着网络的发展,逐渐兴起了网络书稿的热潮。
这样可以实现从投稿,审稿,编辑,发行等全过程的网络化,比传统模式更加灵活方便。
(2)在经济效益方面:
在软件技术方面是以大型数据库等成熟的应用软件作为支撑