候运转以满足公司客户、合作伙伴的需要。这是实时性很强商业系统理想的选择[5]。
2.4关于Struts
2.4.1 Struts简介
Struts已逐步越来越多运用于商业软件,是一种非常优秀的J2EE MVC实现方式。Struts用Java Servlet/JavaServer Pages技术,开发Web应用程序的开放源码的framework。
2.4.2 Struts的主要功能
(1) 包含一个controller servlet,能将用户的请求发送到相应的Action对象。
(2)JSP自由tag库,并且在controller servlet中提供关联支持,帮助开发员创建交互式表单应用。
(3)提供了一系列实用对象:XML处理、通过Java reflection APIs自动处理JavaBeans属性、国际化的提示和消息。Struts项目的目标是为创建Java web应用提供一个开放源代framework。Struts framework的内核是基于例如Java Servlets,
JavaBeans, ResourceBundles, 和 XML,以及各种 Jakarta Commons包的标准技术的灵活的控制层。Struts提供了它自身的控制器组件,并整合了其他技术,以提供模型和视图。Struts已逐步越来越多运用于商业
软件,是一种非常优秀的J2EE MVC实现方式[6]。
2.4.3 Struts工作原理
MVC(Model-View-Controller),是一种
常用的设计模式。MVC 减弱了业务逻辑接口和数据接口之间的耦合,以及让视图层更富于变化,MVC可以让整个逻辑很清晰,这种思想和思维和人的思维很接近,很容易被理解。
MVC的工作原理如图2-2所示:
图2-2 MVC工作原理
Struts 是MVC的一种实现,它将 Servlet和 JSP 标记(属于 J2EE 规范)用作实现的一部分。Struts继承了MVC的各项特性,并根据J2EE的特点,做了相应的变化与扩展。Struts的工作原理,如图2-3所示:
图2-3 struts工作原理
(1)Controller:在XML文件Struts-config.xml中,与之相关联的是Controller,在Struts中,承担MVC中Controller角色的是一个Servlet,叫ActionServlet。ActionServlet是一个通用的控制组件。这个控制组件提供了处理所有发送到Struts的HTTP请求的入口点。它截取和分发这些请求到相应的动作类(这些动作类都是Action类的子类)。另外控制组件也负责用相应的请求参数填充 Action From(通常称之为FromBean),并传给动作类(通常称之为ActionBean)。动作类实现核心商业逻辑,它可以访问java bean 或调用EJB。最后动作类把控制权传给后续的JSP 文件,后者生成视图。所有这些控制逻辑利用Struts-config.
xml文件来配置。
(2)视图:主要由JSP生成页面完成视图,Struts提供丰富的JSP 标签库: Html,Bean,Logic,Template等,这有利于分开表现逻辑和程序逻辑。
(3)模型:模型以一个或多个java bean的形式存在。这些bean分为三类:Action Form、Action、JavaBean or EJB。Action Form通常称之为FormBean,封装了来自于Client的用户请求信息,如表单信息。Action通常称之为ActionBean,获取从ActionSevlet传来的FormBean,取出FormBean中的相关信息,并做出相关的处理,一般是调用Java Bean或EJB等[7]。
2.5 关于Spring
2.5.1 Spring简介
Spring是一个开源框架,它由Rod Johnson创建。它是为了解决企业应用开发的复杂性而创建的。Spring使用基本的JavaBean来完成以前只可能由EJB完成的事情。然而,Spring的用途不仅限于服务器端的开发。从简单性、可测试性和松耦合的角度而言,任何Java应用都可以从Spring中受益[8]。
◆目的:解决企业应用开发的复杂性
◆功能:使用基本的JavaBean代替EJB,并提供了更多的企业应用功能
◆范围:任何Java应用
简单来说,Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架。
◆轻量--从大小与开销两