主流开源框架第一部分Struts2一

上传人:痛*** 文档编号:84893501 上传时间:2022-05-04 格式:DOC 页数:33 大小:1.27MB
收藏 版权申诉 举报 下载
主流开源框架第一部分Struts2一_第1页
第1页 / 共33页
主流开源框架第一部分Struts2一_第2页
第2页 / 共33页
主流开源框架第一部分Struts2一_第3页
第3页 / 共33页
资源描述:

《主流开源框架第一部分Struts2一》由会员分享,可在线阅读,更多相关《主流开源框架第一部分Struts2一(33页珍藏版)》请在装配图网上搜索。

1、主流开源框架第一部分:Struts2框架(二)誓Struts2快速入门力Struts2控制器*自定义拦截器* Act i on相关知识 章节目录第九章 Action类丿 JServlet API第二章Struts2的控制器第三章自定义拦截器第四章 Struts2的Action嗾Struts2工作原理* Struts2的优点弈 第一个Struts2应用ujujiu 5rtu8mStruts2与Strutsl 的区别華Struts2与Strutsl本质上没有太大联系* Strutsl最初是Apache Jakarta项目的一部分,后来作为 个开源的MVC框架存在* Struts2是从WebWork

2、框架上发展起来的,与Strutsl没有 直接关系ujujiu 5rtu8mStruts2工作原理* Model层没有特殊要求除 在web. xml 中配置Fi I terDi spatcher*开发并配置Action类*自定义或配置拦截器*开发视图开发Struts2简单Demo的步骤誓下载并导入Struts2框架jsr包开发Model层业务逻辑*开发视图文件*开发Action类辛 在struts, xml中配置Act ion类辛在JSP中调用Action在web. xml 中配置Fi I terDi spatcherujujui 5rtugm开发Act i on类* Action类不需要继承或

3、实现任何父类或接口,只要遵守某 些命名规范即可-如果该Action类是通过表单提交调用,且Action 类中需要使用表单提交的请求参数,则必须在 Action类中声明与表单域的名字对应的变量, 并提供getters/setters方法一 Action类中必须有一个public String execute()方法,该方法将被口动调川,实现控制逻辑配置Act i on类失Act ion类必须在struts, xml中进行配置才能使用 /welcome.jsp result name=, fail”/index j sp在JSP中调用Act i on矢JSP中调用Act ion,通过Act i o

4、n的name属性值即可Struts2简单Demo的运行过程在web. xml 中配置Fi IterDi spatcher华Fi I terDi spatcher是Struts2框架API中提供的类,必须 在web. xml中将其配置给任意URL,方能生效FilterDispatcher/filter- nameorg.apache.struts2.dispatcher.FilterDispatcher FilterDispatcher /*v/filtermappi ng*用户提交请求务 请求将被Fi I terDi spatcher滤Fi I terDi spatcher调用Act ionM

5、apperFi I terDi spatcher将请求处理交Act ionProxy丢 Act i onProxy通过Conf i gurat i on Manager查找struts, xm I辛 Act i onProxy实例化Act i on I nvocat i on辛Act ion I nvocat i on实例调用与Act i on有关的拦截器以及 Act i on 类的 execute 方法S3根据struts, xml中配置的act ion的resu 定的URLStruts2的优点* Action中的execute方法没有参数,可以脱离容器环境进 行单元测试无通过拦截器更为便捷

6、地获得请求参数辛页面导航不需要硬编码到源代码中*支持多种视图技术*强大的JSP标记库UJUJIU 5retc:8m教程案例准备ujuiuj 5retc:8m奉业务逻辑与JavaEE核心编程中的案例相同螟用不同的技术实现相同逻辑,能够更好地理解不同技术的 区别章节目录第一章Struts2快速入门第三章自定义拦截器第四章 Struts2的Action笫五章 Action类JServlet API第六章Action类上寸装请求参数第七章Action类的属性=7*过滤器*拦截器心 Act i onAction ContextClean UpOther filters (SiteMesh, etc)Fi

7、lterDispatcherHttpServletRequest拦截器过滤器去过滤器是Struts2控制器的最前端控制器,请求对象首先 被过滤器过滤* Struts2的过滤器有三个层次*拦截器(Interceptor)是Struts2中第二个层次的控制器 彩拦截器在Act i on执行的前后运行一些Act i on类需要的通用 功能*拦截器使用AOP (面向方面编程)思想设计* API中提供了大量拦截器类定义拦截器使用拦截器前,必须先在struts, xml中定义拦截器心 拦截器在下使用定义定义拦截器栈如果某些拦截器总是一起使用,可以定义为拦截器栈 拦截器栈是某些拦截器的集合vintercep

8、tor-ref name=M modelDriven / vinterceptor-ref name= scopedModelDriven w/ v/in terceptor-stackAct i on中使用拦截器或拦截器栈*定义了拦截器或拦截器栈后,可以在Action中使用 通过 i nterceptor-ref指定要使用的拦截器或拦截器栈 vinterceptor-ref name=,paramsx/interceptor-ref參定义默认拦截器或拦截器栈张对于一个package,可以定义该package中所有Acti on默认 使用的拦截器以及拦截器栈struts xml中Act ion

9、struts-defau11. xml中定义的拦截器仏API中的拦截器都已经在struts-defau It. xml的struts- defau It包中定义 v!-配置拦截器信息“!一 定义拦截器interceptor name=Haliasclass=”com.ope nsymph on y.xwork2.i nterceptor.AliasI nterceptor1/ujujui 5rtom誓 struts, xml 中的Act ion都继承了struts-defau It. xml 中的 struts-defau It包,因此都默认使用struts-defau 11包的 默认拦截器栈

10、誓大多数情况下,需要保证任何Action都被struts-defau It 包的默认拦截器引用拦截Act ion挙Action是Struts2的第三个层次的控制器,需要程序员自 行开发辛Act i on是Struts2应用中使用数量最多的控制器章节目录Act i on实现的功能与Servlet非常类似,然而,Act i on不 是Servlet,仅仅是一个普通的Javm类第二章Struts2的控制器第四章 Struts2 的Action第五章 Action类与Servlet API衣编写拦截器 弧配置拦截器ujuiui 5rtom编写拦截器类*自定义拦截器类需要实现Interceptor接口験

11、 主要覆盖接 口中的 i ntercept (Act i on I nvocat i on argO)方 法务i ntercept方法的参数Act i on I nvocat i on非常重要,其中 的i rwoke可以调用下一个拦截器或者Act ionmx草配置使用拦截器*使用前必邂先匡义拦截器 /in terceptorQ*定义拦截器后在Action中引用该拦截器 result name=success/we丄come.jsp /index.jsp章节目录第一章Struts2快速入门第二章Struts2的控制器第三章自定义拦截器第五章 Action类与Servlet API Act i o

12、n 接口些Act i on类的方法* Action的调用Act i on 接口辛Struts2中的Action不需要实现任何接口些 Struts2的API 中提供了com. opensymphony. xwork2. Act i on 接口,接口中提供了常量以及execute方法华Act i on类可以实现Act i on接口Act i on类中的方法默认情况下,Action类的方法必须符合如下声明形式public String execute () throws Exception 辛Action类的方法名字可以不是execute,但是必须在 struts, xml中进行指定巾5律actio

13、n n ame=ff Regis ter class=Hcom. etc action Regis ter Act ionf, method=nregister,f“合并”多个Act i on类誓 可以在一个Action中声明多个方法,如login、register 等,必须在struts, xml中进行配置/welcome.jsp/index.jspocti on n ame=,Customerregistern class=com.etc.actio n.CustomerActio n” method=registerAct i on类中定义了 execute方法*如果Action中定义了

14、符合规范的execute方法,那么就默 认调用execute方法/welcome.jspujujuj 5rtugmAct i on类中的方法名不是execute/index.jsp 辛如果Action中的方法名不是execute,而是自定义方法, 有两种方法可以调用Act i on类-在struts.xml中通过method属性,指定方法名-使用提交按钮的method属性,指定Action的方 法名ujujuj 5rtugm章节目录第四章 Struts2的Action辛 ActionContext辛 ServIetAct i onContextAct i onContext 概述ujuiuj

15、5rtom豪ActionContext类表示一个Action运行时的上下文* Struts2应用中,如果需要通过请求、会话、上下文存取 属性,可以使用ActionContext完成,而不必调用Serv I et API获得Act ionContext对象的方法使用Act i onContext存取请求属性ActionContext ctxt=ActionContext.getContext();* ActionContext中提供了两个方法,可以向请求范围存 取属性public void put(Object key, Object value)一 public Object get(Obje

16、ct key);/使用Act ionContext存取会话属性* ActionContext中提供了如下方法,获得与会话有关的Map使用Act i onContext存取上下文属性一 public Map getSession()Act ionContext111提供了如卜方法,获得与上卜文有关 的Map一 public Map getApplication()使用Serv I etAct i onContext誓使用Serv I etAct i onContext可以获得真正的请求、会话、 上下文对象public static PageContext getPageContext(): 获得

17、 PageC ontext 对象public static HttpServletRequest getRequest(): 获 得 H ttpServletRequest 对象一 public static HttpServletResponse getResponse(): 获得 HttpServletResp onse 对象ujujuj 5retc:8mAct i onContext 使用实例一 public static ServletC on text getServletContext 获得 ServletContext 对象*通过向“教程案例”增加查看所有用户信息的功能,使用 A

18、ct i onContext-调用ActionContext对象的put方法,往请求范围 添加属性ujujuj 5retc:8m章节目录第_章Struts2快速入门第五章 Action类 Servlet APIO第七章Action类的属性ujuiuj 5rtom誓 Fi eld-dr i ven方式Mode I -dr i ven方式ujuiuj 5rtomMode I -Dr i ven方式Field-Dr iven方式* Action通过属性的方式封装请求参数,被称为Field-Driven 方式,即域驱动-API中提供了 个拦截器,com.ope nsymph on y.xwork2.i nterceptor.Paramete rslnterceptor,实现该驱动方式ujuiuj 5rtomAct i on通过模型对象的方式封装请求参数,被称为Model-Driven方式,即模型驱动-API中提供了一个拦截器,com.ope nsymph ony .xwork2.i nterceptor. Model Dri veninterceptor ,实现该驱动方式

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!