前言
Struts与EJB结合进行B/S模式的开发,解决了“表示”与“业务逻辑”的分离,“业务逻辑”与“数据”的分离问题以及页面的多变性问题,发挥EJB基于组件分布式计算结构的优势,从而大大提高了Web应用的开发效率,数据安全性和可维护性。
1、Struts与EJB结合B/S的开发模式
1.1、MVC模式
MVC(Model/View/Controller)模式最早是在Smaltalk中出现的。MVC包括三类对象,简单地说,Model是应用对象,View是它在屏幕上的表示,Controller定义用户界面对用户输入的响应方式。
MVC设计模式中的“模型”指的是真正执行任务的代码。在模型同界面分离的情况下,代码即可实现可治理性和可重用性。模型通常被称为“业务逻辑”。所谓“视图”就是使用界面,界面的每一部分都只能包含采集数据的足够逻辑,并把它传递给设计模式中的其他组成部分以进行处理。“控制器”控制着模型和视图之间的交互过程。它决定着向用户返回怎样的视图、检查通过界面输入的信息以及选择处理输入信息的模型。
在jsp开发中,最长使用Model2。Model2实际上就符合MVC模式,其中各组件的关系如图1所示。
1.2、Struts+EJB开发模式
Struts是一种符合MVC模式的框架。Struts采用JSP作为MVC的视图,java Servlet作为控制器,JavaBean作为模型。Struts的处理过程如图2所示。
首先,控制器(Action Servlet)进行初始化工作,读取配置文件(struts-config.xml),为不同的Struts模块初始化相应的ModuleConfig对象。控制器接收Http请求,并从ActionConfig中找出对应于该请求的Action子类,假如没有对应的Action,控制器直接将请求转发给JSP或者静态页面,否则控制器将请求分发至具体Action类进行处理。在控制器调用具体Action的Execute方法之前,ActionForm对象将利用Http请求中的参数来填充自己。Action要处理的业务逻辑封装在JavaBean中,通过JavaBean调用EJB以完成业务处理。Action执行完后返回一个ActionFroward对象。
2、简单的Web服务体系结构
当您要将企业应用程序转变成与 Web 服务一起使用时,最简单的途径就是将单个操作与单个的企业服务结合在一块,如图3所示。
在这种设计方法中,实现业务逻辑的服务与实现数据检索的服务是混合在一起的。这样的一种 Web 服务可以很轻易从已有的业务组件中开发出来。然而,它有很多的缺点:对用户没有提供统一认证,提供者与订阅者耦合不紧,业务逻辑没有重用。简而言之,对于一个连贯的解决方案来说这并不是一个非常好的体系结构。
3、采用 Struts的 Web 服务
新闻热点
疑难解答