master-struts
更新时间:2023-11-30 02:32:01 阅读量: 教育文库 文档下载
- masterstroke推荐度:
- 相关推荐
第一章: Jakarta Struts 项目的介绍和它的支持组件
作者:James Goodwill 翻译:周海方 整理:
Xlong(Email:xlongbuilder@yahoo.com.cn)
我们所有的章节的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=\
<%@taglib uri=\> type=\ User Id:
如你看到的那样,几个JSP的标签是JSP文件中的重点。这些标签在Struts框架中定义,它使struts应用项目和控制器之间实现松耦合。在第三章我们会建立一个真正可运行的struts视图,第五章中会对视图进行更详细的介绍。
控制器(The Controller)
控制器是Struts框架中的中枢,它由org.apache.struts.action.ActionServlet这个servlet来贯彻和执行的。这个org.apache.struts.action.ActionServlet接收所有客户端的请求,并把请求委派到指定的Action类(用户扩展自
org.apache.struts.action)。ActionServlet委派请求是基于客户端传入的URI。一旦Action类完成处理,ActionServlet根据Action返回的键值来决定在什么视图中显示Action的类处理结果。ActionServlet类似于一个创建Action对象的工厂,由Action对象去执行应用中实际的业务逻辑。控制器是Struts框架中最重要的部分。我们会在第三章和第四章对控制器进行更详细的探讨。
Web应用 (WebApplications)
所有的Web应用被包含在一个目录结构中,首先你要在Web服务器下建立如下目录:
目录 wileyapp 内容 这是Web应用的根目录,所有的JSP和HTML文件都在这个目录下。 /wileyapp/WEB-INF 这个目录包含了所有除根目录外需要的资源, 包括WEB应用部署信息。注意:WEB-INF目录下的不是公共文件,无法直接服务于客户端。 / wileyapp/WEB-INF/classes 存放了所有的servlet类或实用类。 / wileyapp/WEB-INF/lib 包含所有WEB应用中要用到的后缀为JAR的包文件 图1.2
如果你实用的是Tomcat服务器,你的缺省根目录为
注意:WEB服务器允许你编译你的类并存放到/WEB-INF/classes或/WEB-INF/lib下,
但/WEB-INF/classes的类将被优先载入,即若你编译的类在两个目录下都存在,起作用的只有/WEB-INF/classes目录下的类。
Web应用的部署描述
Web应用的核心是部署描述。部署描述存放在
/
应用要使用的组件。如果你使用图1.2的目录结构,那么你的部署描述位于
/
下面的代码片段是部署描述的一个例子,它定义了一个简单的servlet。
PUBLIC \ \
正在阅读:
master-struts11-30
世界人口日宣传教育活动总结范文八篇04-03
血液内科的三基试题09-28
项目建议书(镇文化站建设模版)05-27
工业以太网相对DCS,FCS的优势及不足01-08
LKS-EKP V6.0 产品使用手册 - 时间管理1.006-28
八年级上册数学复习知识点总结_(人教版)04-02
- exercise2
- 铅锌矿详查地质设计 - 图文
- 厨余垃圾、餐厨垃圾堆肥系统设计方案
- 陈明珠开题报告
- 化工原理精选例题
- 政府形象宣传册营销案例
- 小学一至三年级语文阅读专项练习题
- 2014.民诉 期末考试 复习题
- 巅峰智业 - 做好顶层设计对建设城市的重要意义
- (三起)冀教版三年级英语上册Unit4 Lesson24练习题及答案
- 2017年实心轮胎现状及发展趋势分析(目录)
- 基于GIS的农用地定级技术研究定稿
- 2017-2022年中国医疗保健市场调查与市场前景预测报告(目录) - 图文
- 作业
- OFDM技术仿真(MATLAB代码) - 图文
- Android工程师笔试题及答案
- 生命密码联合密码
- 空间地上权若干法律问题探究
- 江苏学业水平测试《机械基础》模拟试题
- 选课走班实施方案
- master
- struts
- 测量、分析和改进 -
- 浙江省舟山中学高一语文上学期期中试题
- 2010年造价员考试班前复习题六
- C++3 函数习题及答案
- 选择题库
- 2018年衡水金卷调研卷 全国卷 I A(二) 理数模拟试题
- 初中旋转知识点及类型题 - 图文
- 医患联谊策划
- 以大班主题活动《牙齿的秘密》为例,浅谈如何将绘本与主题活动相融合
- 2016年下半年广西教师资格考试《综合素质》材料分析+写作命中分析
- 广东省某县教育局基础教育专网光纤线路租赁采购项目公开招标书(招标文件格式模板) -
- 开展“解放思想、赶超跨越”大讨论活动的实施方案
- 2016注册咨询工程师集训教育公路工程技术标准试卷
- 2016版高中化学必修2优化方案:同步配套测试卷(含答案)
- 办公室公文条例和公文办法题库
- 非平稳随机序列
- 八年级地理下册63西北地区教案新版粤教版
- 2018浙教版七年级数学下册 第4章 因式分解 单元测试题及答案
- 智能交通公众信息服务平台方案
- 中图分类号(TP)