已阅读5页,还剩19页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第二章Struts2原理及配置 本章主要内容 2 1Struts2运行流程了解Struts2的运行流程 2 2Eclipse中开发Struts2通过例程了解Struts2开发过程 2 3Struts2的基本配置了解如何配置web xml struts xml struts properties 2 4Struts2概述Struts2起源及其体系结构 2 5Struts2核心组件了解Struts2的核心控制器 业务控制器 模型组件和视图组件 2 1Struts2运行流程 先来看看J2EE的MVC模式 2 1Struts2运行流程 Struts2运行流程 2 2在eclipse中开发Struts2 首先在eclipse中创建Web应用 增加Struts2支持 开发Struts2应用代码并配置Struts2应用 在WEB INF下新建子目录jsp 编制用户登录页面和用户详情页面JSP 并放在WEB INF jsp目录下 配置WEB INF下的web xml 编写LoginAction类 把它放置在package com ntc sample sshsample1 web下 新建struts xml文件 把它放置在项目的src目录下 2 2在eclipse中开发Struts2 web xml配置文件 参看示例3 2 2在eclipse中开发Struts2 struts xml配置文件 参看示例5 2 2在eclipse中开发Struts2 根据书中2 4节中的步骤 执行结果如下 参看示图2 17和图2 18 2 3Struts2的基本配置 2 3 1配置web xml文件因为Struts2将核心控制器设计成Filter 而不是一个普通Servlet 故为了让Web应用加载FilterDispatcher 只需要在web xml文件中配置FilterDispatcher即可 2 3Struts2的基本配置 2 3 2配置struts xml文件Struts框架的核心配置文件就是struts xml配置文件 该文件主要负责管理Struts2框架的业务控制器Action 在默认情况下 Struts2框架将自动加载放在WEB INF classes路径下的struts xml文件 为了避免struts xml文件过于庞大 臃肿 提高struts xml文件的可读性 我们可以将一个struts xml配置文件分解成多个配置文件 然后在struts xml文件中包含其他配置文件 除此之外 Struts2还提供了一种插件式的方式来管理配置文件 struts default xml文件是Struts2框架的默认配置文件 Struts2框架每次都会自动加载该文件 2 3Struts2的基本配置 2 3 2配置struts xml文件在上面配置文件中 名为default的包空间 继承了名为struts default的包空间 struts default包空间定义在struts default xml文件中 可见 Struts2框架默认会加载struts default xml文件 2 3Struts2的基本配置 2 3 2配置struts xml文件注意如果用户开发属于自己的Struts2插件 只要将对应的struts plugin xml文件放在JAR文件中 Struts2框架将自动加载该文件 通过这种方式 Struts2框架允许使用可插拔的方式管理Struts2的插件 struts xml的文件结构参见2 5 4节例 2 3Struts2的基本配置 2 3 3配置struts properties文件Struts2框架有两个核心配置文件 除了struts xml 还有一个struts properties文件 该文件定义了Struts2框架的大量属性 也被称为Struts2常量 开发者可以通过改变这些属性 常量 来满足应用的需求 struts properties文件是一个标准的Properties文件 该文件包含了系列的key value对象 每个key就是一个Struts2常量 该key对应的value就是一个Struts2常量值 2 3Struts2的基本配置 2 3 3配置struts properties文件注意 配置Struts2常量值有3个地方 在struts properties文件中配置常量 在web xml文件中配置FilterDispatcher指定初始化参数来配置常量 在struts xml文件中使用元素来配置常量 2 3Struts2的基本配置 2 3 3配置struts properties文件上例就是在struts xml设定常量struts multipart saveDir 常用常量列表参见2 5 3节常用常量列表 2 4Struts2概述 2 4 1Struts1简介及存在的问题为了把业务逻辑代码从表现层中清晰的分离出来 2000年 CraigMcClanahan采用了MVC的设计模式开发Struts 后来该框架产品一度被认为是最广泛 最流行JAVA的WEB应用框架 Struts作为MVC2的Web框架 自推出以来不断受到开发者的追捧 得到广泛的应用 作为最成功的Web框架 Struts自然拥有众多的优点 MVC2模型的使用 功能齐全的标志库 TagLibrary 开放源代码 但是 正所谓 没有最好 只有更好 Struts1 x自身也有不少的缺点 需要编写的代码过多 容易引起 类爆炸 单元测试困难 这些缺点随着Web的发展越来越明显 这就促生了Struts2 它的诞生能很好的解决上述问题 2 4Struts2概述 2 4 2Struts2起源传统Struts1和WebWork结合后产生了Struts2框架 Struts2虽然是在Struts1的基础上发展起来的 但实质上是以WebWork为核心 Struts2为传统Struts1注入了WebWork的设计理念 统一了Struts1和WebWork两个框架 允许Struts1和WebWork开发者同时使用Struts2框架 2 4Struts2概述 2 4 3Struts2体系结构Struts2框架的大致处理流程 浏览器发送请求 例如请求 mypage action reports myreport pdf等 核心控制器FilterDispatcher根据请求决定调用合适的Action Struts2的拦截器链自动对请求应用通用功能 例如workflow validation或文件上传等功能 回调Action的execute方法 该execute方法先获取用户请求参数 然后执行某种数据库操作 既可以将数据保存到数据库 也可以从数据库中检索信息 实际上 因为Action只是一个控制器 它会调用业务逻辑组件来处理用户的请求 Action的execute方法处理结果信息将被输出到浏览器中 可以是HTML页面 图像 也可以是PDF文档或者其他文档 此时支持的视图技术非常多 既支持JSP 也支持Velocity FreeMarker等模板技术 2 5Struts2核心组件 2 5 1Struts2核心控制器FilterDispatcher是Struts2框架的核心控制器 该控制器作为一个Filter运行在Web应用中 它负责拦截所有的用户请求 当用户请求到达时 该Filter会过滤用户请求 如果用户请求以action结尾 该请求将被转入Struts2框架处理 是典型的AOP 面向切面编程 处理方式 2 5Struts2核心组件 2 5 2Struts2业务控制器业务控制器组件就是用户实现Action类的实例 程序员开发出系统所需要的业务控制器后 还需要配置Struts2的Action 即需要配置Action的如下三个部分定义 Action所处理的URL Action组件所对应的实现类 Action返回的逻辑视图和物理资源之间的对应关系 2 5Struts2核心组件 2 5 3Struts2模型组件MVC框架里的业务控制器会调用模型组件的方法来处理用户请求 注意 在图2 4中看到Action调用业务逻辑组件的方法 当控制器需要获得业务逻辑组件实例时 通常并不会直接获取业务逻辑组件实例 而是通过工厂模式来获得业务逻辑组件的实例 或者利用其他IoC容器 如Spring容器 来管理业务逻辑组件的实例 2 5Struts2核心组件 2 5 4Struts2视图组件Struts2已经改变了Struts1只能使用J
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 美容美发投资协议合同
- 网点委托销售合同范本
- 网上购买货车合同范本
- 灯具定期供货合同范本
- 美牙项目加盟合同范本
- 药品批发销售合同范本
- 牛肉铺购牛肉合同范本
- 物业宾馆合作合同范本
- 牛蛙养殖转让合同范本
- 药品业务员合同协议书
- 国家开放大学(电大)管理信息系统形考1-4答案
- 手术麻醉科简介宣传
- 城市旅游宣传片制作投标方案
- 【MOOC】融合新闻:通往未来新闻之路-暨南大学 中国大学慕课MOOC答案
- JGJT46-2024《施工现场临时用电安全技术标准》条文解读
- DB51-T 10002-2022 公共信息资源标识规范
- 高职劳动教育学习通超星期末考试答案章节答案2024年
- 地震灾害应急救援手册
- 九型人格之职场心理学习通超星期末考试答案章节答案2024年
- 江苏省环保集团有限公司招聘笔试题库2024
- JJF 2019-2022 液体恒温试验设备温度性能测试规范
评论
0/150
提交评论