科研信息发布平台的设计与实现.docx
《科研信息发布平台的设计与实现.docx》由会员分享,可在线阅读,更多相关《科研信息发布平台的设计与实现.docx(28页珍藏版)》请在冰豆网上搜索。
![科研信息发布平台的设计与实现.docx](https://file1.bdocx.com/fileroot1/2022-12/18/5ade7253-b337-4e7d-b091-4f3d123bf608/5ade7253-b337-4e7d-b091-4f3d123bf6081.gif)
科研信息发布平台的设计与实现
林业大学
毕业论文
论文题目:
科研信息发布平台的设计与实现
学生姓名:
指导教师:
讲师
所学专业:
运算机科学与技术
2010年6月
ChengdongCollegeofNortheast
AgriculturalUniversity
Thesis
Thesistopic:
ScientificInformationReleaseSystem
DesignandRealization
Studentname:
ZhangXiaoli
Tutorname:
FuQiangLecturer
Specialty:
ComputerScienceAndTechnology
June2010
科研信息发布平台的设计与实现
摘要
随着运算机科学的进展,软件技术不断的完善,为知足科研治理的需要,设计基于网站结构的综合科研信息发布平台,依照日常工作内容,将所有科研治理信息划分为科研新闻、功效展现、科研项目展现等各个部份,依照各个部份的不同特点,采取不同的结构,合理安排具体内容,通过统一的导航条将各模块集成,使该平台能够初步实现科研信息治理的网络化。
本科研信息发布平台利用++Jsp+等技术对科研信息发布平台进行开发,Struts框架和Hibernate框架简化了开发进程并对平台做了有效的技术治理,因此本平台不论从技术上仍是从设计上都实现了科研信息的良好治理,因为能够用来动态发布科研信息,因此使得对信息的治理加倍及时、高效,提高了工作效率。
关键字:
的应用;Hibernate对数据库的封装;持久层,服务层,操纵层的彼此挪用。
ScientificInformationReleaseSystemDesignandRealization
Abstract
Alongwiththedevelopmentofcomputerscience,softwaretechnologyconstantlyimprovement,tomeettheneedsofscientificmanagement,designbasedonthecomprehensiveresearchwebsitestructureinformationplatform,accordingtothedailyworkcontents,willallscientificmanagementinformationisdividedintoresearchachievementsexhibitnews,scientificresearchprojects,eachpart,showaccordingtothecharacteristicsofvariousparts,adoptdifferentstructure,reasonablearrangementofspecificcontent,throughtheunityofnavigationmoduleintegration,willrealizetheplatformcanpreliminaryresearchinformationmanagementnetwork.
Thisresearchinformationplatformusingthe++Jsp+techniquesJspinformationplatformforscientificresearchdevelopment,StrutsHibernateframeworkandsimplifythedevelopmentprocessandtheframeworkoftheplatformmadeeffectivemanagementoftechnology,sothisplatform,nomatterfromthetechnicalorfromdesignareachievedthegoodmanagement,scientificinformationcanbeusedforthedynamicinformation,sothatbyresearchoninformationmanagementmoretimely,efficient,andimproveworkefficiency.
Keywords:
application;Hibernatedatabasepackage;persistencelayer;servicelayer;controllayerofeachcall.
前言
治理信息系统是为了适应化治理的需要,在治理、系统科学、信息科学和运算机科学等学科的基础上形成的一门科学,它研究治理系统中信息处置和决策的整个进程,并探讨运算机的实现方式。
它是一个由人、运算机、通信设备等硬件和软件组成的,能进行治理信息的搜集、加工、存储、传输、保护和利用的系统。
治理信息系统可促使企业向信息化方向进展,使企业处于一个信息灵敏、治理科学、决策准确的良性循环当中,为企业带来更高的经济效益。
因此,治理信息系统是企业现代化的重要标志,是企业进展的一条必由之路。
信息系统在管理各项事务中有着普遍的应用,促进了企业管理工作的提升。
管理信息系统是为管理服务的,它的开发和建立使企业摆脱落后的管理方式,实现管理现代化的有效途径。
管理信息系统将管理工作统一化、规范化、现代化,极大地提高了管理的效率,使现代化管理形成统一、高效的系统。
过去传统的管理方式是以人为主体的人工操作,虽然管理人员投入了大量的时间、精力,然而个人的能力是有限的,所以管理工作难免会出现局限性,或带有个人的主观性和片面性。
而管理信息系统使用系统思想建立起来的,以计算机为信息处理手段,以现代化通信设备为基本传输工具,能力管理决策者提供信息服务的人机系统,这无疑是将管理与现代化接轨,以科技提高管理质量的重大举措。
管理信息系统将大量复杂的信息处理交给计算机,使人和计算机充分发挥各自的特长,组织一个和谐、有效的系统,为现代化管理带来便捷。
在现代化管理中,计算机管理信息系统已经成为企业管理不可缺少的帮手,它的广泛应用已经成为管理现代化的重要标志。
在企业管理现代化中,组织、方法、控制的现代化离不开管理手段的现代化。
随着科学技术的发展,尤其是信息技术和通讯技术的发展,使计算机和网络逐渐应用于现代管理之中。
面对越来越多的信息资源和越来越复杂的企业内外部环境,企业有必要建立高效、实用的管理信息系统,为企业管理决策和控制提供保障,这是实现管理现代化的必然趋势。
关于基于Web平台的科研信息发布平台是一个典型的信息治理系统,它要紧为治理者提供了一个更为方便的治理模式,不但节省了人力和财力,更使得治理趋于信息化。
科研信息发布平台存在着一个前台应用和后台治理的问题。
而不管前台仍是后台,都要对数据库进行挪用和操作。
因此如何创建网络数据库,和客户端如何挪用服务器端的数据库成为实现教工治理系统的一个关键性问题。
运算机技术的进展与普及,已经改变了咱们的生活方式,运算机应用已慢慢渗透到社会进展的各个领域。
随着运算机技术和通信技术的迅猛进展,社会资源的信息化、数据的散布处置、各类运算机资源共享等应用需求推动运算机技术朝着群体化方向进展,促使运算机技术与通信技术紧密结合。
1系统概述
系统简介
科研信息发布平台用于发布一个科研集体的相关信息,具体包括人员信息,科研项目,科研功效等信息。
本科研信息发布平台需要实现的功能整体来讲有两个。
1.信息发布功能
需要发布的信息包括:
科研信息的发布,科研项目信息的发布,科研功效信息的发布,科研人物信息的发布。
2.后台治理功能
治理功能包括:
新闻治理,科研项目信息治理,科研人物治理,治理员治理。
整个系统的模块结构图如图1-1所示:
图1-1系统模块结构图
需求分析
科研信息发布平台的设计目的是:
将一个工作室或科研机构的科研工作情形和研究功效等信息等发布到网上,使任何用户都能够通过那个平台来了解该工作室和科研机构的情形。
而且那个信息平台需要由治理员来治理新闻,科研项目,科研人物介绍等信息,也确实是要通过治理员来添加,编辑,删除这些信息。
将系统需求加以总结,得出系统需求如下:
1.系统能够运行在windows操作平台上,并通过友好的用户界面进行治理。
2.系统用户类型为一般用户和治理员,治理员需要登录。
3.用户能够直接阅读新闻。
4.用户能够直接阅读正在研究的科研项目信息。
5.用户能够直接阅读已经取得的科研功效。
6.用户能够直接阅读科研人物的信息。
7.治理员对新闻进行治理。
8.治理员对科研项目进行治理。
9.治理员对科研人物进行治理。
10.治理员的治理。
可行性分析
1.3.1经济可行性
通过平台的形式展现科研信息,相较一样的报纸和宣传专栏相较,大大节约了宣传的本钱,同时,随着互联网的普及,阅读网页的人也是传统的宣传形式无法相较的。
还有以网络的形似进行通信,也为对科学研究感爱好的人彼此沟通,提供了方便和实惠。
1.3.2技术可行性
科研信息发布平台的成立能够使科研信息的治理加倍规范,实现了通过网络的形式对信息进行发布,传播,抵达信息高速传播的功能。
科研信息发布平台后台治理系统的设计,对平台的治理提供了一个加倍方便的治理平台,只要明白平台运行的流程,就能够够实现对整个平台的治理,推动科研信息的普遍传播。
1.3.3治理可行性
科研信息发布平台的设计也为信息的治理提供了方便的形式,而且能够减少人员,提高治理的效率。
平台成立起来以后,只需要一个人就能够够达到平台及时更新,转达最新的科研信息。
如此就大大的提高了治理的效率。
要紧技术介绍
1.4.1Struts2框架应用开发流程
1.客户端发出一个指向servlet容器的请求(tomcat);
2.那个请求会通过图中的几个过滤器,最后会抵达FilterDispatcher过滤器。
3.过滤器FilterDispatcher是struts2框架的心脏,在处置用户请求时,它和请求一路彼此配合访问struts2的底层框架结构。
在web容器启动时,struts2框架会自动加载配置文件里相关参数,并转换成相应的类。
如:
ConfigurationManager、ActionMapper和ObjectFactory。
ConfigurationManager存有配置文件的一些大体信息,ActionMapper存有action的配置信息。
在请求进程中所有的对象(Action,Results,Interceptors,等)都是通过ObjectFactory来创建的。
过滤器会通过询问ActionMapper类来查找请求中需要用到的Action。
4.若是找到需要挪用的Action,过滤器会把请求的处置交给ActionProxy。
ActionProxy为Action的代理对象。
ActionProxy通过ConfigurationManager询问框架的配置文件,找到需要挪用的Action类。
创建一个ActionInvocation的实例。
ActionInvocation在ActionProxy层之下,它表示了Action的执行状态,或说它操纵的Action的执行步骤。
它持有Action实例和所有的Interceptor。
实例利用命名模式来挪用,1.ActionInvocation初始化时,依照配置,加载Action相关的所有Interceptor。
2.通过方式挪用Action实现时,执行Interceptor。
在挪用Action的进程前后,涉及到相关拦截器(interceptor)的挪用。
7.一旦Action执行完毕,ActionInvocation负责依照中的配置找到对应的返回结果。
Struts工作原理如图1-2所示:
图1-2Struts工作原理图
MVC三层架构的设计思想
三层架构(3-tierapplication)通常意义上的三层架构确实是将整个业务应用划分为:
表现层(UI)、业务逻辑层(BLL)、数据访问层(DAL)。
区分层次的目的即为了“高内聚,低耦合”的思想。
1、表现层(UI):
通俗讲确实是展现给用户的界面,即用户在利用一个系统的时候他的所见所得。
2、业务逻辑层(BLL):
针对具体问题的操作,也能够说是对数据层的操作,对数据业务逻辑处置。
3、数据访问层(DAL):
该层所做事务直接操作数据库,针对数据的增添、删除、修改、更新、查找等。
三层结构原理:
表示层:
位于最外层(最上层),离用户最近。
用于显示数据和接收用户输入的数据,为用户提供一种交互式操作的界面业务逻辑层:
业务逻辑层(BusinessLogicLayer)无疑是系统架构中表现核心价值的部份。
它的关注点要紧集中在业务规则的制定、业务流程的实现等与业务需求有关的系统设计,也即是说它是与系统所应付的领域(Domain)逻辑有关,很多时候,也将业务逻辑层称为领域层。
业务逻辑层在体系架构中的位置很关键,它处于数据访问层与表示层中间,起到了数据互换中承先启后的作用。
由于层是一种弱耦合结构,层与层之间的依托是向下的,底层关于上层而言是“无知”的,改变上层的设计关于其挪用的底层而言没有任何阻碍。
若是在分层设计时,遵循了面向接口设计的思想,那么这种向下的依托也应该是一种弱依托关系。
因此在不改变接口概念的前提下,理想的分层式架构,应该是一个支持可抽取、可替换的“抽屉”式架构。
正因为如此,业务逻辑层的设计关于一个支持可扩展的架构尤其关键,因为它扮演了两个不同的角色。
关于数据访问层而言,它是挪用者;关于表示层而言,它却是被挪用者。
依托与被依托的关系都纠结在业务逻辑层上,如何实现依托关系的解耦,则是除实现业务逻辑之外留给设计师的任务。
数据层:
数据访问层:
有时候也称为是持久层,其功能主若是负责数据库的访问,能够访问数据库系统、二进制文件、文本文档或是XML文档。
简单的说法确实是实现对数据表的Select,Insert,Update,Delete的操作。
若是要加入ORM的元素,那么就会包括对象和数据表之间的mapping,和对象实体的持久化。
MVC三层架构原理如图1-3所示:
图1-3MVC三层架构原理
1.4.2Hibernate框架简介
Hibernate是一个基于JDBC的主流持久化框架,是一个优秀的ORM实现,他专门大程度的简化DAO层的编码工作,对JDBC访问数据库的代码做了封装,大大简化了数据访问层繁琐的重复性代码。
hibernate利用Java反射机制,而不是字节码增强程序来实现透明性,类与类之间的关系要紧体此刻表与表之间的关系进行操作,它们都市对对象进行操作,咱们程序中把所有的表与类都映射在一路,它们通过配置文件中的many-to-one、one-to-many、many-to-many、进行关联映射。
Hibernate的性能超级好,因为它是个轻量级框架.映射的灵活性很超卓。
它支持各类关系数据库,从一对一到多对多的各类复杂关系。
Hibernate提供了属性的延迟加载功能,当Hibernate在查询数据的时候,数据并无存在与内存中,当程序真正对数据的操作时,对象才存在与内存中,就实现了延迟加载,他节省了服务器的内存开销,从而提高了服务器的性能。
Hibernate框架工作流程
1.读取并解析配置文件
2.读取并解析映射信息,创建SessionFactory
3.打开Sesssion
4.创建事务Transaction
5.持久化操作
6.提交事务
7.关闭Session
8.关闭SesstionFactory
Hibernate工作原理如图1-4所示:
图1-4MVC三层架构原理
1.4.3TOMCAT
TOMCAT简介
Tomcat服务器是一个免费的开放源代码的Web应用服务器,目前最新版本是6.0.14。
Tomcat是Apache软件基金会(ApacheSoftwareFoundation)的Jakarta项目中的一个核心项目,由Apache、sun和其他一些公司及个人一起开发而成。
由于有了Sun的参与和支持,最新的servlet和JSP规范老是能在Tomcat中取得表现,Tomcat5支持最新的Servlet和JSP规范。
因为Tomcat技术先进、性能稳固,而且免费,因此深受Java爱好者的喜爱并取得了部份软件开发商的认可,成为目前比较流行的Web应用服务器。
Tomcat很受广大程序员的喜爱,因为它运行时占用的系统资源小,扩展性好,支持负载平稳与邮件服务等开发应用系统经常使用的功能;而且它还在不断的改良和完善中,任何一个感爱好的程序员都能够更改它或在其中加入新的功能。
Tomcat是一个小型的轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍利用,是开发和调试jsp程序的首选。
关于一个初学者来讲,能够如此以为,当在一台机械上配置好Apache服务器,可利用它响应付HTML页面的访问请求。
事实上Tomcat部份是Apache服务器的扩展,但它是独立运行的,因此当你运行tomcat时,它事实上作为一个与Apache独立的进程单独运行的。
那个地址的窍门是,当配置正确时,Apache为HTML页面服务,而Tomcat事实上运行JSP页面和Servlet。
另外,Tomcat和IIS、Apache等Web服务器一样,具有处置HTML页面的功能,另外它仍是一个Servlet和JSP容器,独立的Servlet容器是Tomcat的默许模式。
只是,Tomcat处置静态HTML的能力不如Apache服务器。
TOMCAT概述
Tomcat是一个免费的开源的Serlvet容器,它是Apache基金会的Jakarta项目中的一个核心项目,由Apache,Sun和其它一些公司及个人一起开发而成。
由于有了Sun的参与和支持,最新的Servlet和Jsp规范总能在Tomcat中取得表现。
Tomcat被JavaWorld杂志的编辑选为2001年度最具创新的java产品,可见其在业界的地位。
中采纳了新的Servlet容器:
Catalina,完整的实现了和规范。
Tomcat提供了各类平台的版本供下载,能够从其官方网站上下载其源代码版或二进制版。
由于Java的跨平台特性,基于Java的Tomcat也具有跨平台性。
与传统的桌面应用程序不同,Tomcat中的应用程序是一个WAR(WebArchive)文件。
WAR是Sun提出的一种Web应用程序格式,与JAR类似,也是许多文件的一个紧缩包。
那个包中的文件按必然目录结构来组织:
通常其根目录下包括有Html和Jsp文件或包括这两种文件的目录,另外还会有一个WEB-INF目录,那个目录很重要。
通常在WEB-INF目录下有一个文件和一个classes目录,是那个应用的配置文件,而classes目录下则包括编译好的Servlet类和Jsp或Servlet所依托的其它类(如JavaBean)。
通常这些所依托的类也能够打包成JAR放到WEB-INF下的lib目录下,固然也能够放到系统的CLASSPATH中,但那样移植和治理起来不方便。
在Tomcat中,应用程序的部署很简单,你只需将你的WAR放到Tomcat的webapp目录下,Tomcat会自动检测到那个文件,并将其解压。
你在阅读器中访问那个应用的Jsp时,通常第一次会很慢,因为Tomcat要将Jsp转化为Servlet文件,然后编译。
编译以后,访问将会专门快。
另外Tomcat也提供了一个应用:
manager,访问那个应用需要用户名和密码,用户名和密码存储在一个xml文件中。
通过那个应用,辅助于Ftp,你能够在远程通过Web部署和撤销应用。
固然本地也能够。
Tomcat不单单是一个Servlet容器,它也具有传统的Web服务器的功能:
处置Html页面。
可是与Apache相较,它的处置静态Html的能力就不如Apache.咱们能够将Tomcat和Apache集成到一块,让Apache处置静态Html,而Tomcat处置Jsp和Servlet.这种集成只需要修改一下Apache和Tomcat的配置文件即可。
另外,Tomcat提供Realm支持。
Realm类似于Unix里面的group.在Unix中,一个group对应着系统的必然资源,某个group不能访问不属于它的资源。
Tomcat用Realm来对不同的应用(类似系统资源)赋给不同的用户(类似group)。
没有权限的用户则不能访问那个应用。
Tomcat提供三种Realm,1:
JDBCRealm,那个Realm将用户信息存在数据库里,通过JDBC取得用户信息来进行验证。
2:
JNDIRealm,用户信息存在基于LDAP的服务器里,通过JNDI获取用户信息。
3:
MemoryRealm,用户信息存在一个xml文件里面,上面讲的manager应用验证用户时即利用此种Realm.通过Realm咱们能够方便地对访问某个应用的客户进行验证。
在Tomcat4中,你还能够利用提供的事件监听器功能,来对你的应用或Session实行监听。
Tomcat也提供其它的一些特点,如与SSL集成到一块,实现安全传输。
还有Tomcat也提供JNDI支持,这与那些J2EE应用服务器提供的是一致的。
说到那个地址咱们要介绍一下通常所说的应用服务器(如WebLogic)与Tomcat有何区别。
应用服务器提供更多的J2EE特点,如EJB,JMS,JAAS等,同时也支持Jsp和Servlet.而Tomcat则功能没有那么壮大,它不提供EJB等支持。
但如果是与JBoss(一个开源的应用服务器)集成到一块,则能够实现J2EE的全数功能。
既然应用服务器具有Tomcat的功能,那么Tomcat有无存在的必要呢?
事实上,咱们的很多中小应用不需要采纳EJB等技术,Jsp和Servlet已经足够,这时若是用应用服务器就有些浪费了。
而Tomcat短小精悍,配置方便,能知足咱们的需求,这种情形下咱们自然会选择Tomcat。
基于Tomcat的开发其实主若是Jsp和Servlet的开发,开发Jsp和Servlet超级简单,你能够用一般的文本编辑器或IDE,然后将其打包成WAR即可。
咱们那个地址要提到另外一个工具Ant,Ant也是Jakarta中的一个子项目,它所实现的功能类似于Unix中的make.你需要写一个文件,然后运行Ant就能够够完成xml文件中概念的工作,那个工具关于一个大的应用来讲超级好,咱们只需在xml中写很少的东西就能够够将其编译并打包成WAR.事实上,在很多应用服务器的发布中都包括了Ant.另外,在中,能够利用标签库实现Java代码与Html文件的分离,使Jsp的保护更方便。
Tomcat也能够与其它一些软件集成起来实现更多的功能。
如与上面提到的JBoss集成起来开发EJB,与Cocoon(Apache的另外一个项目)集成起来开发基于Xml的应用,与OpenJMS集成起来开发JMS应用,除咱们提到的这几种,能够与Tomcat集成的软件还有很多。
1.4.4JSP
JSP(JavaServerPage)
JSP是服务器端的脚本环境,