




已阅读5页,还剩10页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
-,1,重点内容:Struts与Servlet/JSP配置Struts应用Struts主要控制器组件Struts标签库,第12章Struts与Servlet/JSP,-,2,第12章Struts与Servlet/JSP,Struts作为MVC编程模式的实现框架,主要是采用Servlet和JSP技术来实现的。Struts把Servlet、JSP和自定义标签等元素整合到一个统一的框架中,开发人员利用它进行开发时,就不用再自己编写全套MVC框架代码,大大节省了应用开发的时间。下面我们从三个方面为大家介绍Struts是什么:Struts的框架包、Struts的体系结构和Struts的运行原理。,-,3,一、Struts与Servlet/JSP,(1)Struts框架包由300来个Java类组成,按功能可以分为以下三类:控制程序流程的类;实现和执行程序事务逻辑的类;自定义的标记库使得创建和验证HTML表单更加容易。这些类分别装在8个顶级核心包中,其中最基础的有6个,它们的功能描述如右表。,-,4,一、Struts与Servlet/JSP,这6个基础顶级包的相互依赖关系如右图所示,-,5,一、Struts与Servlet/JSP,(2)Struts框架是MVC模式的实现框架,它的体系结构如下图所示。,-,6,二、配置Struts的应用,在使用Struts框架开发Web应用的时候,有两个重要的配置文件需要编写,分别是web.xml和struts-config.xml。1、配置web.xml该配置文件的内容主要包括两个方面:配置ActionServlet和配置Struts标签库。(1)配置ActionServlet因为ActionServlet继承自HttpServlet,所以必须像配置一个Servlet那样在Web.xml中配置ActionServlet类及其访问映射,看下面代码片断:actionorg.apache.struts.action.ActionServletconfig,-,7,二、配置Struts的应用,/WEB-INF/struts-config.xml2action*.do其中、等元素我们在前面已经介绍过,这里不再赘述。这里初始化参数中指定的是Struts的配置文件及其位置。另外元素用来指定该Servlet的装载优先级,值越小越先被装载。除此之外,还有Servlet的mapping映射,非常简单,且在17章就已经讲过,所以这里就不再赘述了。,-,8,二、配置Struts的应用,2、struts-config.xml配置文件该配置文件的作用是将struts组件结合在一起。配置文件可以定义:全局转发ActionMapping类ActionFormbeanJDBC数据源,-,9,三、Struts主要控制器组件,控制器是Struts框架的核心,Struts框架提供了中心控制器类ActionServlet和Action类作为用户自定义动作类的公共超类。控制器主要由ActionServlet担当,但是对于业务逻辑的操作,则主要由Action、ActionForm和ActionMapping/ActionForward这几个组件协调完成。其中Action扮演了真正的控制逻辑的实现者,ActioForm处理一些表单相关操作,而ActionMapping和ActionForward则指定了不同业务逻辑或流程的运行方向。,-,10,三、Struts主要控制器组件,1、ActionServlet组件Struts框架中的控制器组件是org.apache.struts.action.ActionServlet类实现的,这个类是javax.servlet.http.HttpServlet类的扩展。控制器组件的基本功能是:截获用户的Http请求;把这个请求映射到相应的Action类,如果这是此类收到的第一个请求,将初始化实例并缓存;创建或发现一个ActionFormbean实例(看配置文件是否定义),然后将请求过程移植到bean;调用Action实例的perform()方法并将ActioFormbean、ActionMapping对象,request和response对象传给它perform返回一个ActionForword对象,此对象连接到相应的jsp页面。,-,11,三、Struts主要控制器组件,2、ActionMapping组件将特定请求映射到特定Action的相关信息存储在ActionMapping中,ActionServelt将ActionMapping传送到Action类的perform()方法,Action将使用ActionMapping的findForward()方法,此方法返回一个指定名称的ActionForward,这样Action就完成了本地转发。几个重要方法如下:publicActionForwardfindForward(Stringname)该方法根据给定的名称查找对应的ActionForward,若没有找到,就返回一个null。publicvoidaddForward(ActionForwardforward)该方法用来在映射中动态添加ActionForward。publicStringgetName()该方法返回与映射关联的表单bean。publicStringgetScope()该方法返回映射的属性域(会话或请求)。,-,12,三、Struts主要控制器组件,3、ActionForm组件ActionForm组件用于保存请求的参数。Struts框架假设用户在应用程序中为每个表单都创建了一个ActionFormbean,对于每个在struts-config.xml文件中定义的bean,框架在调用Action类的perform()方法之前会进行以下操作:在相关联的关键字下,它检查用于适当类的bean实例的用户会话,如果在会话中没有可用的bean,它就会自动创建一个新的bean并添加到用户的会话中。对于请求中每个与bean属性名称对应的参数,Action调用相应的设置方法。当Actionperform()被调用时,最新的ActionFormbean传送给它,参数值就可以立即使用了。,-,13,三、Struts主要控制器组件,4、ActionForm类扩展org.apache.struts.action.ActionForm类,程序开发人员创建的bean能够包含额外的属性,而且ActionServlet可能使用反射(允许从已加载的对象中回收信息)访问它。ActionForm类提供了另一种处理错误的手段,提供两个方法:PublicActionErrorsvalidate(ActionMappinmapping,ServletRequestrequest)PublicActionErrorsvalidate(ActionMappinmapping,HttpServletRequestrequest),-,14,三、Struts主要控制器组件,5、Action组件Action组件的主要作用是将请求与业务逻辑分离。在收到请求后,ActionServlet会:为这个请求选择适当的Action;如果需要,创建Action的一个实例;调用Action的perform()方法。如果ActionServlet不能找到有效的映射,它会调用默认的Action类(在配置文件中定义)。如果找到了ActionServlet将适当的ActionMapping类转发给Action,这个Action使用ActionMapping找到本地转发,然后获得并设置ActionMapping属性。根据servlet的环境和被覆盖的perform()方法的签名,ActionServlet也会传送ServletRequest对象或HttpServletRequest对象。所有Action类都扩展org.apache.struts.action.Actio
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年烟草、盐加工机械合作协议书
- 能源行业高级管理在职证明(5篇)
- 2025年度市政学考试指导试题及答案
- 2025房地产转让合同模板
- 2024-2025学年高中政治综合训练二含解析新人教版必修4
- 行政管理与伦理学的结合探索试题及答案
- 2025 海盐县 芦荟 购销合同
- 行政管理学问答释疑试题及答案
- 2025合作加工协议合同样本
- 自考行政管理本科职业道德试题及答案总结
- GB/T 5237.1-2017铝合金建筑型材第1部分:基材
- GB/T 33289-2016馆藏砖石文物保护修复记录规范
- GB/T 2506-2005船用搭焊钢法兰
- GB/T 20721-2006自动导引车通用技术条件
- GB/T 15256-2014硫化橡胶或热塑性橡胶低温脆性的测定(多试样法)
- 小学三年级下册道德与法治课件-10.爱心的传递者-部编版(25张)课件
- GB/T 1095-2003平键键槽的剖面尺寸
- 《光的直线传播》教学设计 省赛一等奖
- 公众责任险、财产一切险培训课件
- 人工智能的诞生简述课件
- 子宫破裂的护理查房
评论
0/150
提交评论