网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > Java
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
网络编程:ASP教程,ASP.NET教程,PHP教程,JSP教程,C#教程,数据库,XML教程,Ajax,Java,Perl,Shell,VB教程,Delphi,C/C++教程,软件工程,J2EE/J2ME,移动开发
本月文章推荐
.按位右移运算符 (>>).
.JDBC解决方案.
.Java、XML与数据库编程实践(四).
.使用Ant和Weblogic开发EJB.
.怎么使用Java实现把邮件附件下载.
.对Java嵌套类的讨论(上).
.用JFreeChart创建基于Web的图表.
.SWT代码研究(2).
.Java Web应用中任务调度解析(1).
.网页的元素含义.
.struts2的struts.properties配置.
.Java套接字编程(下)(1).
.Java的垃圾回收(Garbage Collec.
.开发框架:Java编程中Spring的一.
.JAVA实现服务器和多用户跨平台的.
.Java:Struts入门初步知识.
.心得总结:Java性能优化技巧集锦.
.持续集成 Java手册.
.Java极度性能调整.
.Java咖啡馆(11):Java插件技术.

基于Struts和EJB的Web Service框架研究

发表日期:2008-1-5


前言

Struts与EJB结合进行B/S模式的开发,解决了“表示”与“业务逻辑”的分离,“业务逻辑”与“数据”的分离问题以及页面的多变性问题,发挥EJB基于组件分布式计算结构的优势,从而大大提高了Web应用的开发效率,数据安全性和可维护性。

EJB组件作为一种成熟的组件技术已经被广泛应用于各个领域,然而随着企业的发展,企业不断实施应用新的系统。如何确保新应用程序与旧应用程序之间的交互,如何将现有的系统集成到新系统?传统的RMI-IIOP和CORBA技术由于自身的局限性,限制了EJB组件与其他类型组件之间的协同工作与信息交互,而Web服务及其相关技术的出现为解决软件开发环境中组件间的互操作问题提供了一种有效手段,它是在Internet上进行分布式计算的基本构造块。为快速高效的开发集成早期应用程序的新系统,我们需要为Web服务构建Struts应用系统。

1、Struts与EJB结合B/S的开发模式

1.1、MVC模式

MVC(Model/View/Controller)模式最早是在Smaltalk中出现的。MVC包括三类对象,简单地说,Model是应用对象,View是它在屏幕上的表示,Controller定义用户界面对用户输入的响应方式。

MVC设计模式中的“模型”指的是真正执行任务的代码。在模型同界面分离的情况下,代码即可实现可治理性和可重用性。模型通常被称为“业务逻辑”。所谓“视图”就是使用界面,界面的每一部分都只能包含采集数据的足够逻辑,并把它传递给设计模式中的其他组成部分以进行处理。“控制器”控制着模型和视图之间的交互过程。它决定着向用户返回怎样的视图、检查通过界面输入的信息以及选择处理输入信息的模型。

在jsp开发中,最长使用Model2。Model2实际上就符合MVC模式,其中各组件的关系如图1所示。

基于Struts和EJB的Web Service框架研究(图一) 图1:Model2中各组件的关系

1.2、Struts+EJB开发模式

Struts是一种符合MVC模式的框架。Struts采用JSP作为MVC的视图,Java Servlet作为控制器,JavaBean作为模型。Struts的处理过程如图2所示。

基于Struts和EJB的Web Service框架研究(图二) 图2:Struts+EJB的MVC

首先,控制器(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所示。

基于Struts和EJB的Web Service框架研究(图三) 图3:简单Web服务体系结构

在这种设计方法中,实现业务逻辑的服务与实现数据检索的服务是混合在一起的。这样的一种 Web 服务可以很轻易从已有的业务组件中开发出来。然而,它有很多的缺点:对用户没有提供统一认证,提供者与订阅者耦合不紧,业务逻辑没有重用。简而言之,对于一个连贯的解决方案来说这并不是一个非常好的体系结构。

3、采用 Struts的 Web 服务

前面讲过,Struts 架构清楚地区分开了视图、控制器以及模型。模型包含所有必须的业务逻辑,从存储数据仓库中检索数据。您可以构建一个简单的 Web 服务层——称为 WSManager 层——这样的模型可以提供 Web 服务也可以订购 Web 服务。使用这种体系结构的应用程序将基于组件开发的最佳点与Internet结合在了一起,如图4所示。


上一篇:让Spring帮助你在MVC层解决JPA的缓迟加载问题 人气:629
下一篇:java计算磁盘空间的大小 人气:854
浏览全部Java的内容 Dreamweaver插件下载 网页广告代码 祝你圣诞节快乐 2009年新年快乐