申报技师的技术论文(2)
申报技师的技术论文篇二
科技申报系统设计的关键技术分析
[摘 要] 计算机和互联网技术的不断发展,使得包括科技申报在内的各种网上办公活动成为现实。发达国家已率先使用科技申报系统进行科技申报管理活动,2000年以来,科技申报系统在我国的部分省市开始使用,发挥了积极作用。Struts技、Hibernate、Spring技术,整合出科技申报系统的应用框架,提供了表现层、业务逻辑层、数据访问层的相关基类。实现了编程接口的统一、事务自动处理。
[关键词] 科技申报 MVCStruts Spring
一、JSP技术
JSP(Java Server Pages)技术是由Sun公司发布的用于开发动态Web应用的一项技术。它以其简单易学、跨平台的特性,在众多动态Web应用程序设计语言中异军突起,在短短几年中已经形成了一套完整的规范,并广泛地应用于电子商务等各个领域中。
JSP规范是Web服务器、应用服务器、交易系统以及开发工具供应商间广泛合作的结果。Sun开发出这个规范来整合和平衡已经存在的对Java编程环境(例如,Java Servlet和JavaBeans)进行支持的技术和工具。其结果是产生了一种新的、开发基于Web应用程序的方法,给予使用基于组件应用逻辑的页面设计者以强大的功能
二、 Struts2技术
Struts2并不是一个陌生的web框架,它是以Webwork的设计思想为核心,吸收struts1的优点,可以说Struts2是struts1和Webwork结合的产物。它的工作原理如下:
一个请求在Struts2框架中的处理可分为如下7个步骤:
(1)客户端发出一个指向servlet容器的请求(tomcat);
(2)这个请求会经过图中的几个过滤器,最后会到达FilterDispatcher过滤器。
(3)过滤器FilterDispatcher是struts2框架的心脏,在处理用户请求时,它和请求一起相
三、Hibernate技术:
Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。 Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序使用,也可以在Servlet/JSP的Web应用中使用,最具革命意义的是,Hibernate可以在应用EJB的J2EE架构中取代CMP,完成数据持久化的重任。
Hibernate的核心接口一共有5个,分别为:Session、SessionFactory、Transaction、Query和Configuration。这5个核心接口在任何开发中都会用到。通过这些接口,不仅可以对持久化对象进行存取,还能够进行事务控制。下面对这五个核心接口分别加以介绍。
Session接口:Session接口负责执行被持久化对象的CRUD操作(CRUD的任务是完成与数据库的交流,包含了很多常见的SQL语句。)。但需要注意的是Session对象是非线程安全的。同时,Hibernate的session不同于JSP应用中的Http Session。这里当使用session这个术语时,其实指的是Hibernate中的session,而以后会将Http Sesion对象称为用户session。
Session Factory接口:Session Factory接口负责初始化Hibernate。它充当数据存储源的代理,并负责创建Session对象。这里用到了工厂模式。需要注意的是Session Factory并不是轻量级的,因为一般情况下,一个项目通常只需要一个Session Factory就够,当需要操作多个数据库时,可以为每个数据库指定一个Session Factory。
Configuration接口:Configuration接口负责配置并启动Hibernate,创建Session Factory对象。在Hibernate的启动的过程中,Configuration类的实例首先定位映射文档位置、读取配置,然后创建Session Factory对象。
Transaction接口:Transaction接口负责事务相关的操作。它是可选的,开发人员也可以设计编写自己的底层事务处理代码。
Query和Criteria接口:Query和Criteria接口负责执行各种数据库查询。它可以使用HQL语言或SQL语句两种表达方式。
四、 Spring技术
Spring是一个开源框架,它由Rod Johnson创建。它是为了解决企业应用开发的复杂性而创建的。Spring使用基本的JavaBean来完成以前只可能由EJB完成的事情。然而,Spring的用途不仅限于服务器端的开发。从简单性、可测试性和松耦合的角度而言,任何Java应用都可以从Spring中受益。它能解决企业应用开发的复杂性,使用基本的JavaBean代替EJB,并提供了更多的企业应用功能。Spring有如下特点:
a.轻量――从大小与开销两方面而言Spring都是轻量的。完整的Spring框架可以在一个大小只有1MB多的JAR文件里发布。并且Spring所需的处理开销也是微不足道的。此外,Spring是非侵入式的:典型地,Spring应用中的对象不依赖于Spring的特定类。
b.控制反转――Spring通过一种称作控制反转(IoC)的技术促进了松耦合。当应用了IoC,一个对象依赖的其它对象会通过被动的方式传递进来,而不是这个对象自己创建或者查找依赖对象。你可以认为IoC与JNDI相反――不是对象从容器中查找依赖,而是容器在对象初始化时不等对象请求就主动将依赖传递给它。
c.面向切面――Spring提供了面向切面编程的丰富支持,允许通过分离应用的业务逻辑与系统级服务(例如审计(auditing)和事务(transaction)管理)进行内聚性的开发。应用对象只实现它们应该做的――完成业务逻辑――仅此而已。它们并不负责(甚至是意识)其它的系统级关注点,例如日志或事务支持。
d.容器――Spring包含并管理应用对象的配置和生命周期,在这个意义上它是一种容器,你可以配置你的每个bean如何被创建――基于一个可配置原型(prototype),你的bean可以创建一个单独的实例或者每次需要时都生成一个新的实例――以及它们是如何相互关联的。然而,Spring不应该被混同于传统的重量级的EJB容器,它们经常是庞大与笨重的,难以使用。
e.框架――Spring可以将简单的组件配置、组合成为复杂的应用。在Spring中,应用对象被声明式地组合,典型地是在一个XML文件里。Spring也提供了很多基础功能(事务管理、持久化框架集成等等),将应用逻辑的开发留给了你。所有Spring的这些特征使你能够编写更干净、更可管理、并且更易于测试的代码它们也为Spring中的各种模块提供了基础支持。
五、MVC技术
MVC是一个设计模式,它强制性的使应用程序的输入、处理和输出分开。使用MVC应用程序被分成三个核心部件:模型、视图、控制器。它们各自处理自己的任务。
1.视图
视图是用户看到并与之交互的界面。对老式的Web应用程序来说,视图就是由JSP元素组成的界面,在新式的Web应用程序中,JSP依旧在视图中扮演着重要的角色,但一些新的技术已层出不穷,它们包括Macromedia Flash和象XJSP,XML/XSL,WML等一些标识语言和Web services.
如何处理应用程序的界面变得越来越有挑战性。MVC一个大的好处是它能为你的应用程序处理很多不同的视图。在视图中其实没有真正的处理发生,不管这些数据是联机存储的还是一个雇员列表,作为视图来讲,它只是作为一种输出数据并允许用户操纵的方式。
2.模型
模型表示企业数据和业务规则。在MVC的三个部件中,模型拥有最多的处理任务。例如它可能用象EJBs和ColdFusion Components这样的构件对象来处理数据库。被模型返回的数据是中立的,就是说模型与数据格式无关,这样一个模型能为多个视图提供数据。由于应用于模型的代码只需写一次就可以被多个视图重用,所以减少了代码的重复性。
3.控制器
控制器接受用户的输入并调用模型和视图去完成用户的需求。所以当单击Web页面中的超链接和发送JSP表单时,控制器本身不输出任何东西和做任何处理。它只是接收请求并决定调用哪个模型构件去处理请求,然后确定用哪个视图来显示模型处理返回的数据。
现在我们总结MVC的处理过程,首先控制器接收用户的请求,并决定应该调用哪个模型来进行处理,然后模型用业务逻辑来处理用户的请求并返回数据,最后控制器用相应的视图格式化模型返回的数据,并通过表示层呈现给用户。
参考文献:
[1]张海蕃:软件工程导论[M].北京:清华大学出版社, 2005 , 160-171
[2] Ian Somerville. Software engineering[M].北京:机械工业出版社,2004,73-84
看了“申报技师的技术论文”的人还看:
2.电工技师技术论文