RAD课件-第8章-Struts框架.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《RAD课件-第8章-Struts框架.ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- RAD 课件 Struts 框架
- 资源描述:
-
1、1J2EE应用开发实例精解(RAD+WAS)第第8章章 Struts架构架构2n8.1 Struts简介简介n8.2 Struts流程流程n8.3 Struts的核心的核心APIn8.4 RAD中构建基于中构建基于Struts架构的架构的Web应用程序应用程序内容提要3学习要点n重点内容重点内容Struts架构的基本概念、流程以及核心架构的基本概念、流程以及核心APIRAD中创建基于中创建基于Struts架构的架构的Web应用程序应用程序48.1 Struts简介nStruts的体系结构的体系结构58.2 Struts流程nStruts时序图时序图68.3 Struts的核心APInStrut
2、s框架中的组件框架中的组件组件组件用途用途Struts-config.xml配置文件配置文件ActionServlet控制器控制器ActionClass包含事务逻辑包含事务逻辑ActionMapping帮助控制器将请求映射到操作帮助控制器将请求映射到操作ActionForm bean保存数据保存数据ActionForward用来指示操作转移的对象用来指示操作转移的对象错误处理错误处理用来存储和回收错误用来存储和回收错误Struts标记库标记库可以减轻开发显示层次的工作可以减轻开发显示层次的工作78.3 Struts的核心API(cont.)nStruts配置文件配置文件Struts配置文件(配
3、置文件(struts-config.xml)负责将)负责将Struts中各组件结中各组件结合在一起合在一起默认保存在默认保存在“动态动态Web应用程序应用程序”的的“WEB-INF”下下配置文件配置文件可可定义全局转发、定义全局转发、ActionMapping类、类、ActionForm bean、JDBC数据源数据源88.3 Struts的核心API(cont.)n配置全局转发配置全局转发全局转发用来在全局转发用来在JSP页之间创建逻辑名称映射页之间创建逻辑名称映射,转发都可以通过转发都可以通过对调用操作映射的实例来获得对调用操作映射的实例来获得nactionMappingInstace.f
4、indForward(“logicalName”); n nn 属性属性描述描述Name全局转发的名字全局转发的名字Path与目标与目标URL的相对路径的相对路径98.3 Struts的核心API(cont.)n配置配置ActionMappingActionMapping对象帮助进行框架内部的流程控制对象帮助进行框架内部的流程控制,可将请求可将请求URI映射到映射到Action类类,将将Action类与类与ActionForm bean相关联相关联ActionServlet在内部使用这些映射,并将控制转移到特定在内部使用这些映射,并将控制转移到特定Action类的实例类的实例所有所有Actio
5、n类使用类使用perform()方法实现特定应用程序代码,返回一方法实现特定应用程序代码,返回一个个ActionForward对象,其中包括响应转发的目标资源名称对象,其中包括响应转发的目标资源名称108.3 Struts的核心API(cont.)n配置配置ActionForm BeanActionServlet使用使用ActionForm来保存请求的参数,这些来保存请求的参数,这些bean的的属性名称与属性名称与HTTP请求参数中的名称相对应请求参数中的名称相对应控制器将请求参数传递到控制器将请求参数传递到ActionForm bean的实例,然后将这个的实例,然后将这个实例传送到实例传送到
6、Action类类118.3 Struts的核心API(cont.)n配置配置JDBC数据源数据源用用元素可以定义多个数据源元素可以定义多个数据源,属性如下:属性如下:nKey Action类使用这个名称来寻找连接类使用这个名称来寻找连接 nType 实现实现JDBC接口的类的名称接口的类的名称 128.3 Struts的核心API(cont.)nActionServlet类类在在web.xml中声明中声明ActionServlet,将它配置成启动时进行加载,将它配置成启动时进行加载第一次收到特定请求的第一次收到特定请求的URI时,时,ActionServlet将适当的将适当的Action类类进
7、行实例化,然后进行实例化,然后ActionServlet在在Action类实例中以类实例中以servlet为为变量名存储一个引用变量名存储一个引用被实例化后,被实例化后,Action类会被暂存以备再用类会被暂存以备再用ActinServlet提供了一组能够被提供了一组能够被Action对象使用的方法对象使用的方法,可使用可使用destroy()方法结束方法结束ActionServlet,也可使用,也可使用reload()方法从方法从Struts配置文件将信息重新加载配置文件将信息重新加载138.3 Struts的核心API(cont.)nActionMapping类类特定请求映射到特定特定请求
8、映射到特定Action的相关信息存储在的相关信息存储在ActionMapping中中ActionServelt将将ActionMapping传送到传送到Action类的类的perform()方方法,法,Action将使用将使用ActionMapping的的findForward()方法,此方方法,此方法返回一个指定名称的法返回一个指定名称的ActionForward,这样,这样Action就完成了本就完成了本地转发地转发若没有找到具体的若没有找到具体的ActionForward,就返回一个,就返回一个null148.3 Struts的核心API(cont.)nAction类类用于用于实现应用程
9、序的事务逻辑,负责处理请求实现应用程序的事务逻辑,负责处理请求收到请求后,收到请求后,ActionServlet会为这个请求选择适当的会为这个请求选择适当的Action,如,如果需要,创建果需要,创建Action的一个实例,调用的一个实例,调用Action的的perform()方法。方法。如果如果ActionServlet不能找到有效的映射,它会调用默认的不能找到有效的映射,它会调用默认的Action类类,如果找到了如果找到了,ActionServlet将适当的将适当的ActionMapping类转发类转发给给Action,这个,这个Action使用使用ActionMapping找到本地转发,
10、然后找到本地转发,然后获得并设置获得并设置ActionMapping属性属性根据根据servlet环境和被覆盖的环境和被覆盖的perform()方法签名,方法签名,ActionServlet也会传送也会传送ServletRequest对象或对象或HttpServletRequest对象。所有对象。所有Action类都扩展类都扩展org.apache.struts.action.Action类,并且覆盖类,并且覆盖类中定义的某一个类中定义的某一个perform()方法方法158.3 Struts的核心API(cont.)nActionForm类类在应用程序中为每个表单都创建了一个在应用程序中为每
11、个表单都创建了一个ActionForm bean,对于对于每个在每个在struts-config.xml文件中定义的文件中定义的bean,框架在调用,框架在调用Action类的类的perform()方法之前会进行以下操作:方法之前会进行以下操作:n在相关联的关键字下,它检查用于适当类的在相关联的关键字下,它检查用于适当类的bean实例的用户实例的用户会话,如果在会话中没有可用的会话,如果在会话中没有可用的bean,它就会自动创建一个,它就会自动创建一个新的新的bean并添加到用户的会话中并添加到用户的会话中n对于请求中每个与对于请求中每个与bean属性名称对应的参数,属性名称对应的参数,Act
12、ion调用相调用相应的设置方法。当应的设置方法。当Action perform()被调用时,最新的被调用时,最新的ActionForm bean传送给它,参数值就可以立即使用了传送给它,参数值就可以立即使用了168.3 Struts的核心API(cont.)nActionForward类类将将Action类的处理结果转发至目的地类的处理结果转发至目的地Action类获得类获得ActionForward实例的句柄,然后返回到实例的句柄,然后返回到ActionServlet。有有以下两种使用方法:以下两种使用方法:nActionServlet根据名称获取一个全局转发,根据名称获取一个全局转发,Ac
展开阅读全文