




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、因为专注所以专业 因为专业所以领先q部门:公共产品与研发部q讲师:谭昌辉培训内容表现层-MVC一Struts2入门二Struts2拦截器三Struts2 Action及配置四三五五六Struts2配置信息及常量课程目标n熟悉java、jsp,有一定的项目开发经验n熟悉struts2开发的框架模式,最佳实践,并能熟练地应用到实际项目开发中回顾MVC 模式 (控制器)接受用户请求调用模型响应用户请求选择视图显示响应结果(视图)显示模型状态接受数据更新请求把用户输入数据传给控制器(模型)代表应用程序状态响应状态查询处理业务流程通知视图业务状态更新选择视图业务处理用户请求通知数据更新状态查询事件方法调
2、用模型组件:负责业务逻辑视图组件:负责表示业务范围的视图控制器组件:负责控制用户输入的流和状态JSP Model II体系结构客户端应用程序Servlet(控制器)JSP(视图)JavaBeanWeb 容器Struts实现的MVC框架 培训内容表现层-MVC一Struts2入门二Struts2拦截器三Struts2 Action及配置四三五五六Struts2配置信息及常量Struts2 是什么nStruts2=Struts2+WebWork较新的Web MVC框架Struts1.1,1.2,1.3 Struts2为何Struts2使用Xwork?nXwork是一个通用命令模式的框架WebWok
3、 = WebWork Core +XWorkStruts2= Struts 2 Core +XworknStruts2把Web功能转换提供给XWorkXwork提供了什么?n实现独立运行的命令模式框架 Action作为命令对象存在于Xwork中n增加了高级功能 拦截器 结果 简单的IOC容器 强大的对象查询语言 自动类型转换 元数据驱动的验 证框架 插件机制Struts Core提供了什么?n封装HTTP请求/响应对象为Mapn处理Session/Application范围nServletDispatcher转换Http请求执行Actionn提供了Web层的拦截器n将Result转换为具体的r
4、edirect &dispatch,或者其它表示层系统架构框图n接收到请求nFilterDispatcher找到合适的Actionn拦截器调用nAction中的方法执行(业务)nResult输出详细系统架构图Struts1 和 Struts2对比培训内容表现层-MVC一Struts2入门二Struts2拦截器三Struts2 Action及配置四三五五六Struts2配置信息及常量什么是拦截器?n拦截器,在AOP中用于在某个 方法或字段被访问之前,进行拦截然后在之前或之后加入某些操作。拦截是AOP的一种实现策略n在Struts2中解释为拦截器是动态拦截Action调用的对象。它 提供了一种机制
5、可以使开发者可以定义在一个Action执行的前后执行的代码,也可以在一个Action执行前阻止其执行。同时也是提供了一种可以提取Action中可重用的部分的方式。nInterceptor是Struts2的一个强有力的工具,有许多功能都是构建在它之上,如国际化,转换器,校验等拦截器:Domain AOPn首先初始化Action代理 对象和Action对象n依次执行各拦截器n返回逻辑视图n可添加用户自定义 拦截器Struts2 拦截器时序图拦截器链n拦截器链(Interceptor Chain)或称为拦截器栈(Interceptor Stack)。拦截器链就是将拦截器按一定的顺序联结成一条链条。在
6、访问被拦截的方法或字段时,拦截器链中的拦截器就会按其之前定义的顺序被调用。拦截器链示例配置拦截器配置拦截器链默认拦截器链n每个package均可设置自己的默认拦截器链 n单个action也可定义自己的拦截器引用 . 了解Struts内置拦截器nStruts2内置各种功能齐全的拦截器实现并作为默认拦截器配置。可以在struts2-core-x.x.x.jar和xwork_x.x.x.jar包的struts-default.xml查看关于默认的拦截器与拦截器链的配置。培训内容表现层-MVC一Struts2入门二Struts2拦截器三Struts2 Action及配置四三五五六Struts2配置信息
7、及常量Action.javaPackage com.opensymphony.xwork2;Public interface Actionpublic static final java.lang.String SUCCESS = “success”;public static final java.lang.String NONE = “none”;public static final java.lang.String ERROR = “error”;public static final java.lang.String INPUT= “input”;public static fina
8、l java.lang.String LOGIN= “login”;public String execute() throws java.lang.Exception;Action类的三种常见写法nPOJO法不继承和实现任何接口 必须写String execute() Plain Old Java Object 普通Java类n实现Action接口n继承ActionSupport类(最常用) 推荐,可得到国际化,表单验证等额外功能Action类及struts.xml配置详解nActionSupport类实现了下列接口: Action,Validateable,ValidationAware,
9、TextProvider,LocalProvider,Serializable。其中最主要的是Action接口nAction类可不继承任何类,但必须符合这样的方法命名: public String execute()throws Exception;或省略异常抛出,写为public String execute() 方法名不限,例如 public String login()Action类及struts.xml配置详解nPOJO方式的Action不能利用Struts内置的一些功能如国际化,表单验证等nStruts.xml配置方式为:strutsconstant,include,packagea
10、ctionresultnAction能不能映射为.do?(可以,constant) Struts.xml示例使用多个struts2 XML配置文件n必须有默认的文件struts.xmln可根据需要包含多个不同模块的配置文件,每个文件格式都和struts.xml类似Package定义n包是一种用来对action,result,result type,拦截器,以及拦截器栈进行组织,使它们成为一个逻辑上的配置单元的方式,可进行继承nNamespace的默认值是空字符串。还可以取值为”/”,或者 “/system”等。Action定义Result标记Dynamic Method Invocationn
11、DMI-动态方法调用,在UDF框架中默认采用此方法,可减少struts的配置项,灵活动态扩展n“User!delete.action”,调用”User”action映射的delete方法nStruts.enable.DynamicMethodInvocation = false 可设置为不启动动态方法调用培训内容表现层-MVC一Struts2入门二Struts2拦截器三Struts2 Action及配置四三五五六Struts2配置信息及常量配置文件列表常量定义XML格式nn常量有两个必须属性:name和valuen这些属性名是struts2中预先规定好的,可影响柜架的执行,如文件上传限制,整合
12、Spring等常量定义属性文件格式n等价于XML格式定义nSrc/perties,每一行作为一个常量n参考文件:perties常量配置文件列表n常量在多个文件中定义,默认加载次序如下: 1、struts-default.xml 2、struts-plugin.xml 3、struts.xml 4、perties 5、web.xmln后续文件可覆盖前面文件中定义的属性n文件perties的存在是为了向后兼容WebWork,不建议使用,推荐通过struts.xml进行配置配置信息示例nstruts.xml perties struts.devMo
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 小学三年级校园安全教育计划
- 人教版四年级下册语文词语积累计划
- 汽车制造设备危险源辨识清单及预控措施
- 2025版学校人工费施工合同范本
- 2025版土地互换及乡村振兴战略实施合作协议范本
- 2025版人力资源战略规划与实施顾问合同
- 2025年商业街区临时摊位租赁合同范本
- 电力行业质量保证体系及措施范文
- 2025版基础设施建设项目土方施工合同书
- 2025版汽车烤漆房租赁及节能改造技术服务合同
- 藻类分子机制解析与调控网络构建-洞察阐释
- 柴油运输配送管理制度
- T/CAPA 009-2023面部埋线提升技术操作规范
- 助教合同协议书范本
- DB3707T 120-2024无特定病原凡纳滨对虾种虾循环水养殖技术规范
- 2025光伏项目施工合同范本
- 阶梯定价合同协议
- 公司走帐协议书样板
- 《脑机接口技术与应用》课程教学大纲
- 2025年湖南铁道职业技术学院单招职业适应性测试题库带答案
- 蒸汽管道下穿铁路施工方案
评论
0/150
提交评论