- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第一章JakartaStruts项目的介绍和它的支持组件.doc
第一章: Jakarta Struts 项目的介绍和它的支持组件
作者:James Goodwill 翻译:周海方 整理:Xlong(Email:xlongbuilder@)
?
我们所有的章节的Web服务器都是基于Jakarta Tomcat容器。在本章结束的时候,通过运行你建立的Struts应用程序,你可以对Struts的框架机制有个大致的了解
?
The Jakarta Struts项目
The Jakarta Struts项目是由Apache Software Foundation发起的开源项目,它在java服务器端实现了MVC(Model-View-Controller)设计模式。
The Jakarta Struts项目最初是由Craig McClanahan在2000年五月创建的,但后来被开源组织所接收。
The Jakarta Struts作为一个开源框架的主要意图是为了在创建WEB应用时能比较容易的分离表示层和业务数据层。自从它诞生以来收到大量开发人员的支持,并很快的成为开源社区中一个重要的成员。
?
理解MVC设计模式
为了更深刻的理解Struts框架,你必须先理解MVC设计模式,Struts技术的就是基于MVC设计模式的。MVC设计模式起源于Smalltalk语言,它由以下三个部分组成:模型(model),视图(view),控制器(Controller).表1.1定义了这些组件。
?
组件
描述
模型(model)
封装数据对象。模型用来封装和显示数据对象。
视图(view)
作为模型的显示,它表示数据对象的当前状态
控制器(Controller)
定义对用户的输入执行相应操作的接口,它用来操作模型(model)和数据对象
?
使用MVC的好处包括如下:
可靠性:表示层和业务层别分离,这样就允许你更改你的表示层代码而不用重新编译你的模型(model)和控制器(Controller)代码
高重用和可适应性: MVC模式允许你使用各种不同样式的视图来访问同一个服务器端的代码。它包括任何WEB(HTTP)浏览器或则无线浏览器(WAP)。
较低的生命周期成本:MVC使降低开发和维护用户接口的技术含量成为可能。
快速的部署:开发时间会得到相当大的缩减,它使程序员(java开发人员)集中精力于业务逻辑,界面程序员(HTML和JSP开发人员)集中精力于表现形式上。
可维护性: 分离表示层和业务逻辑层也使得基于Struts的Web应用更易于维护和修改。
?
The Struts架构图
在这章节,我们简要的画出一幅和MVC模式对应的STRUTS框架图1.1:
?
?
?
?
?
图1.1是Struts框架下应用程序请求流通过的路径。这个处理过程由5个基本的步骤组成。
下面是处理步骤的描述。
1. 由显示视图产生一个请求。
2.? 请求被ActionServlet(控制器)接收,它在struts-config.xml文件中寻找请求的URI,找到对应的Action类后,Action类执行相应的业务逻辑。
3.? Action类执行建立在模型组件基础上的业务逻辑,模型组件是和应用程序关联的。
4.? 一旦Action类处理完业务逻辑,它把控制权返回给ActionServlet。,Action类提供一个键值作为返回的一部分,它指明了处理的结果。ActionServlet使用这个键值来决定在什么视图中显示Action的类处理结果。
5.? 当ActionServlet把Action类的处理结果传送到指定的视图中,请求的过程也就完成了。
?
?
模型(The Model)
Struts框架没有提供特定的模型组件,因此我们不会整章介绍模型组件,但我们会把它使用到我们的例子中去。
?
视图(The View)
Struts框架中视图组件对应于一个简单的JSP文件,这个JSP文件包含了Struts定义的标签,下面的代码片段是一个简单的Struts视图:
%@page language=java
%@taglib uri=/WEB-INF/struts-html.tld prefix=html
html:form action=loginAction.do
name=loginForm
type=com.wiley.loginForm
User Id: html:text property=usernamebr/
Password: html:password property=passwordbr/
html:submit /
/html:form
如你看到的那样,几个JSP的标签是JSP文件中的重点。这些标签在Struts框架中定义,它使struts应用项目和控制器之间实现松耦合。在第三章我们会建立一个真正可运行的struts视图
原创力文档


文档评论(0)