一种基于Struts的Web应用开发环境(1)

发表于:2007-06-11来源:作者:点击数: 标签:
摘要 :随着J2EE技术平台的逐渐成熟和完善,基于J2EE的Web应用 开发 也日益增加。本文讨论了一种基于Struts框架的Web应用开发环境—WebPJ。它包含了两个部分:WebPJ-GUI和WebPJ-SDK。GUI部分主要以插件的方式集成到 程序员 熟悉的Java开发平台Eclipse中,并

摘 要:随着J2EE技术平台的逐渐成熟和完善,基于J2EE的Web应用开发也日益增加。本文讨论了一种基于Struts框架的Web应用开发环境—WebPJ。它包含了两个部分:WebPJ-GUI和WebPJ-SDK。GUI部分主要以插件的方式集成到程序员熟悉的Java开发平台Eclipse中,并提供可视化界面以用于Web工程的设计、开发、配置和管理。SDK部分则封装了Struts的核心,提供了完整的控制器组件,低耦合性的模型框架结构,以及通过绑定HTML的方式自动生成代码框架和JSP。此外,SDK还提供了验证组件和异常处理组件等其他功能。WebPJ通过一系列实际Web项目的开发检验,表明它能够缩短程序员理解和学习Struts框架的周期,同时WebPJ的使用也降低了程序员的工作量,提高了项目的成功率。

引言

随着J2EE平台的逐渐成熟和完善,越来越多的程序员选择了Struts框架进行Web应用开发。因为Struts框架包含了软件框架和相关的软件包,能提高Web开发的效率。但对于实际的Web应用开发,Struts毕竟还是显得比较粗糙,使用过程中还需要熟练的程序员付出大量的工作才能完成设计和开发工作。

本文将要论述一种基于Struts的Web应用开发环境WebPJ的设计和应用。WebPJ是一个无缝嵌入Eclipse平台的插件。WebPJ的GUI部分提供可视化的界面对Web项目进行设计、开发、配置和管理。即使程序员对Struts框架不很熟悉,通过简单培训也能进行开发和配置,从而缩短了学习周期。而WebPJ的SDK部分则提供了MVC的模式来控制和运转业务。程序员进行的开发是填充式的,故能降低程序员的工作量。

WebPJ经过一系列的Web工程实践,表明既降低了工作量又提高了项目的成功率。

1、Struts与Java Web应用概述

1.1、MVC设计模式

MVC是Model-View-Controller的简称,即模型-视图-控制器。MVC是Xerox PARC在20世纪80年代为编程语言Smalltalk-80发明的一种软件设计模式,至今已被广泛使用,最近被Sun公司推荐为J2EE平台的设计模式[1]。MVC强制性地把应用程序的输入、处理和输出分开。MVC中的三个核心模块:模型、视图和控制器,各自承担不同的任务,具有以下的优点:

A)多个视图能共享一个模型,提高了代码的可复用性。

B)模型是自包含的,与控制器和视图保持相对独立,所以可以方便地更改应用程序的数据层和业务规则。

C)控制器可以用来连接不同的模型和视图去完成用户的需求,提高了应用程序的灵活性和可配置性。

1.2、JSP Model2

尽管MVC设计模式很早就出现了,但向Web应用的开发中引入MVC却相对困难,这是因为在JSP网页中执行业务逻辑的代码和HTML混杂在一起,难以分离出相对独立的模型。为了解决以上问题,Sun公司推出了两种规范,称为JSP Model1和JSP Model2。Model1虽然在一定程度上实现了MVC但效果不理想,直至Model2的出现才得以改观。图1是JSP Model2的结构图[2]。

图1:JSP Model2

Model2综合了JSP和Servlet两种技术各自的优点,用JSP生成表示层的内容,让Servlet完成深层次的业务规则处理。

Servlet充当控制器的角色,负责处理用户的请求,创建JSP页需要使用的JavaBean对象,根据用户请求选择合适的JSP页返回给实际用户。JSP页内没有逻辑,只负责检索原先由Servlet创建的JavaBean对象,从中提取动态信息插入到静态模版中。Model2清晰地分离了表达和内容,明确了角色定义以及开发者的分工。

1.3、Struts

Struts实质上就是在JSP Model2的基础上实现的一个MVC框架。Struts为视图定义了一组JSP文件。在这些JSP文件中没有业务逻辑,也没有模型信息,只有标签。模型则用来表示应用程序的状态和业务逻辑。对于大型应用来讲,业务通常由JavaBean或EJB组件来实现。控制器是Struts框架的核心组件,ActionServlet在MVC模型中承担了中心控制台的角色,负责接收HTTP的请求信息,根据配置好的struts-config.xml信息,转发给适当的Action对象进行相关业务的处理[3]。下面的章节要讨论的WebPJ就是一种基于Struts并且以插件方式内嵌在Eclipse中的开发环境。

2、WebPJ

2.1、体系结构

Eclipse 是一个开放源代码的、基于 Java 的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境[4]。Eclipse 附带了一个标准的插件集,包括 Java 开发工具JDT(Java Development Tools),此外还包括插件开发环境PDE(Plug-in Development Environment)。PDE组件允许构建与 Eclipse 环境无缝集成的工具。

WebPJ就是为了方便开发人员开发基于Struts框架的Java Web应用程序而构建的一个Eclipse插件,它能和开发人员熟悉的Eclipse GUI无缝相接,提供给开发人员可视化的开发界面。WebPJ分为WebPJ-GUI和WebPJ-SDK两个主要模块。WebPJ-GUI主要是实现了可视化的界面,并负责项目的各类信息的配置以及生成代码框架和JSP;而另一个模块WebPJ-SDK主要是进一步对Struts框架进行细化封装,并控制整个框架的运转。从图2可以看出WebPJ-SDK也是一个典型的MVC结构。

图2:WebPJ-SDK结构模型

该模型根据Struts框架也分成三个部分:控制器、视图和模型。当控制器的ControlCenter接收到来自客户端的请求时,WebPJ-SDK会通过定义的页面迁移关系图module.xml来找到对应的Action,接着由这个Action定位到具体的业务模型入口UIBO,由UIBO调用一组与自己相关的业务处理,即BLBO,处理完后的数据结果集会通过数据模型DABO返回给视图部分的JSP,再由JSP组装后提交给用户端的浏览器。


共4页: 1 [2] [3] [4] 下一页

原文转自:http://www.ltesting.net

评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)
...