开发者社区


Web服务 | ASP/ASP.Net | JSP | PHP/Perl | 网站设计
首页 - WEB技术
Web技术
全文搜索:   

用Struts Framework开发应用程序
作者: BUILDER.COM
2002-05-23 14:10:48


Struts Framework是一种基于Java的技术,Web应用程序开发人员通过Struts Framework即可充分利用面向对象设计、代码重用以及“编写一次、到处运行”的优点。Struts提供了一种创建Web应用程序的框架,其中对应用程序的显示、表示和数据的后端代码进行了抽象。

Struts最早于2002年5月作为Jakarta项目的组成部分问世,Jakata项目由Apache Foundation.运做。项目的创立者希望改进和提高Java Server Pages (JSPs)、servlet、标签库以及面向对象的技术水准。在钻研Struts之前你应该比较熟悉JSP、Java编程和一定的设计模式,尤其应该了解MVC(Model-View-Controller:模型、视图和控制器)软件程序架构。学习Struts一开始会比较难,一旦理解了这一技术你将发现自己掌握了一种开发大规模Web应用程序的设计利器。

MVC原理

Struts是对MVC设计模式的一种实现。MVC设计模式为构建可扩展、可重用的代码打下了一个坚实的基础。MVC设计模式最吸引人之处在于它迫使你必须抽象自己的代码,把项目分解为表示、逻辑和控制三部分,它们的作用正如一个交响乐团中的音乐、团员和指挥。

MVC设计模式中的“模型”指的是真正完成任务的代码。对大多Web应用程序来说,功能比界面感觉更重要。在模型同界面相分离的情况下,代码即可实现可管理性和可重用性。比方说,假如你开发了一个保险应用程序,其中的“模型”就是处理要求、计算保险费和同数据库交互的那些代码。模型通常也被称做“业务逻辑”。

所谓的“视图”其实就是界面。在MVC模式下,通常的设计前提是界面任务并不大。当然,视图应该具有一定的功能性并遵守可用性的约束,但视图(界面)不应当处理数据。事实上,界面的每一部分都只能包含采集数据的足够逻辑并把它传递给设计模式中的其他组成部分供处理。从理论上说,如果你在模型中实现全部业务逻辑那么你可以创建多个视图,也就是桌面应用程序、数据库系统或者Web应用程序的界面。由于所有最麻烦的工作代码都保存在了模型上,所以创建新的视图并不令人感到过分的痛苦,产生软件编码错误的可能性也就随之大大降低了。

“控制器”控制着模型和视图之间的交互过程。它决定着向用户返回怎样的视图、检查通过界面输入的信息以及选择处理输入信息的模型。

在介绍了MVC之后,现在我们就下载Struts Framework、了解Struts采用MVC设计技术的原理。

获取Struts Framework

Struts Framework 可以从Jakarta项目的网站上获取。目前可用的代码版本还是1.0,但该版本是稳定和成熟的版本。同Apache Foundation维护的其他项目一样,Struts Framework是一种开放源代码软件,所以你可以获得软件源代码亲自编译程序或者直接下载二进制版本。大多数用户并不需要源代码,但知道它的存在也不是坏事,说不定以后就用得着。

Struts分派版随带了众多示例,所有这些示例都打包为WAR文件(Web Application Archive)供部署在应用服务器上。假如你想用Struts创建自己的应用程序,那么你会在Struts库目录下找到所有你需要的东西。在这个目录下有个JAR文件包含了所有的框架源代码和标签库的全部定义。在创建新应用程序的时候需要把这些文件拷到WEB-INF目录下供部署用。将来我们会撰文讨论如何完成这些工作,目前你仅需要知道它们都放在什么地方就可以了。

MVC和Struts Framework

现在我们就看看Struts Framework是如何采用MVC模式来创建Web应用程序的。

视图

Struts采用JSP作为MVC的视图。每一视图都是采用了定制标签库的JSP页面,这些定制标签库则由Struts Framework提供。全部表单元素都是用定制标签编码的,所以这些页面能够很方便地同控制器交互。每一个表单都通过映射JSP到servlet的请求这一方式指向控制器的特定入口点。

控制器

控制器就是Java servlet,由Struts Framework提供,负责视图和模型之间的交互。控制器的每个入口点都由名为struts-config.xml的配置文件设置。该文件把来自视图的请求映射为特定的java类以进行相应的处理。控制器还指定下一个视图的位置。

模型

Java beans就是模型的代表。对进入控制器的每个入口点来说,bean的作用是存储从视图获取的信息,同时被称为“行动类”一种Java类则被指定为对表单输入采取行动。行动类(action class)实现了业务逻辑。

以上介绍了Struts Framework同MVC之间的关系,接下来的第二部分则引领读者用Struts创建应用程序。

责任编辑:炒饭

声明:
Builder.com.cn(原ZDNet China应用开发频道)原创文章版权所有,未经许可严禁转载,且不构成投资建议。
近期相关报道:
实用技术文档
J2me XML
C/C++ C#
Java Oracle
Mysql .Net
VB.NET CSS
SQL Server 数据库
SQL UNIX
Linux Jsp
PHP Perl
Javascript IIS
XHTML ColdFusion
ASP/ASP.NET Apache
AJAX
订阅技术邮件
订阅"技术圈"杂志!请在下面选择您感兴趣的专题,填写e-mail地址,然后按订阅按钮:
应用开发管理
VS.NET 周刊
Database 周刊
WEB Service周刊
JAVA 周刊
IT 认证
Windows服务器周刊
互联网开发
当Windows Server 2008专家得5000元现金大奖
CNET NETWORKS 中国: 爱卡汽车网 | CNET科技资讯网 | e询网 | CWEEK | 蜂鸟网 | GameSpot China | 个人电脑 | PChome | SPN | 网友世界 | ZDNet China | 中关村在线
CNET NETWORKS 美国: BNET | CNET.com | CNET Download.com | CNET News.com | CNET Reviews | CNET Shopper.com | GameSpot | MP3.com | mySimon | Release 1.0 | Search.com | TechRepublic | TV.com | Webshots | ZDNet
Copyright (c) 2006 CNET Networks 版权所有。 ZDNet 是CNET Networks公司注册服务商标。
ZDNet 公司标识是 CNET Networks公司注册服务商标。
中华人民共和国电信与信息服务业务经营许可证编号:京ICP证010391号