版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
重点内容:
Struts与Servlet/JSP配置Struts应用Struts主要控制器组件Struts标签库第12章Struts与Servlet/JSP第12章Struts与Servlet/JSP
Struts作为MVC编程模式的实现框架,主要是采用Servlet和JSP技术来实现的。Struts把Servlet、JSP和自定义标签等元素整合到一个统一的框架中,开发人员利用它进行开发时,就不用再自己编写全套MVC框架代码,大大节省了应用开发的时间。 下面我们从三个方面为大家介绍Struts是什么:Struts的框架包、Struts的体系结构和Struts的运行原理。一、Struts与Servlet/JSP(1)Struts框架包由300来个Java类组成,按功能可以分为以下三类:控制程序流程的类;实现和执行程序事务逻辑的类;自定义的标记库使得创建和验证HTML表单更加容易。这些类分别装在8个顶级核心包中,其中最基础的有6个,它们的功能描述如右表。包名称功能描述Org.apache.struts.action包含控制整个Struts框架运行的大量核心类,如中心控制器类ActionServlet、RequestProcessor、ActionForward等。Org.apache.struts.actions包含现成的Action类,如ForwardAction、DispatchAction等,可以直接使用或者加以扩展进行使用。Org.apache.struts.config包含在Struts配置文件struts-config.xml中各配置元素对应的类。Org.apache.struts.taglib包含用于处理Struts标签库的标签处理类。Org.apache.struts.util包含整个框架包使用的通用工具类。Org.apache.struts.validatorStruts1.1中增加的有效性验证框架包,用于动态的配置Form表单的验证。一、Struts与Servlet/JSP这6个基础顶级包的相互依赖关系如右图所示一、Struts与Servlet/JSP(2)Struts框架是MVC模式的实现框架,它的体系结构如下图所示。二、配置Struts的应用 在使用Struts框架开发Web应用的时候,有两个重要的配置文件需要编写,分别是web.xml和struts-config.xml。1、配置web.xml 该配置文件的内容主要包括两个方面:配置ActionServlet和配置Struts标签库。 (1)配置ActionServlet 因为ActionServlet继承自HttpServlet,所以必须像配置一个Servlet那样在Web.xml中配置ActionServlet类及其访问映射,看下面代码片断:<servlet><servlet-name>action</servlet-name><servlet-class>org.apache.struts.action.ActionServlet</servlet-class><init-param> <param-name>config</param-name>二、配置Struts的应用 <param-value>/WEB-INF/struts-config.xml</param-value> </init-param> <load-on-startup>2</load-on-startup> </servlet> <servlet-mapping><servlet-name>action</servlet-name><url-pattern>*.do</url-pattern></servlet-mapping> 其中<servlet-name>、<servlet-class>、<param-name>、<param-value>等元素我们在前面已经介绍过,这里不再赘述。这里初始化参数中指定的是Struts的配置文件及其位置。另外<load-on-startup>元素用来指定该Servlet的装载优先级,值越小越先被装载。 除此之外,还有Servlet的mapping映射,非常简单,且在17章就已经讲过,所以这里就不再赘述了。二、配置Struts的应用2、struts-config.xml配置文件该配置文件的作用是将struts组件结合在一起。配置文件可以定义:全局转发
ActionMapping类
ActionFormbeanJDBC数据源三、Struts主要控制器组件 控制器是Struts框架的核心,Struts框架提供了中心控制器类ActionServlet和Action类作为用户自定义动作类的公共超类。控制器主要由ActionServlet担当,但是对于业务逻辑的操作,则主要由Action、ActionForm和ActionMapping/ActionForward这几个组件协调完成。其中Action扮演了真正的控制逻辑的实现者,ActioForm处理一些表单相关操作,而ActionMapping和ActionForward则指定了不同业务逻辑或流程的运行方向。三、Struts主要控制器组件1、ActionServlet组件Struts框架中的控制器组件是org.apache.struts.action.ActionServlet类实现的,这个类是javax.servlet.http.HttpServlet类的扩展。 控制器组件的基本功能是:截获用户的Http请求;把这个请求映射到相应的Action类,如果这是此类收到的第一个请求,将初始化实例并缓存;创建或发现一个ActionForm
bean实例(看配置文件是否定义),然后将请求过程移植到bean;调用Action实例的perform()方法并将ActioForm
bean、Action
Mapping对象,request和response对象传给它perform返回一个ActionForword对象,此对象连接到相应的jsp页面。三、Struts主要控制器组件2、ActionMapping组件 将特定请求映射到特定Action的相关信息存储在ActionMapping中,ActionServelt将ActionMapping传送到Action类的perform()方法,Action将使用ActionMapping的findForward()方法,此方法返回一个指定名称的ActionForward,这样Action就完成了本地转发。几个重要方法如下: publicActionForwardfindForward(Stringname) 该方法根据给定的名称查找对应的ActionForward,若没有找到,就返回一个null。 publicvoidaddForward(ActionForwardforward) 该方法用来在映射中动态添加ActionForward。 publicStringgetName() 该方法返回与映射关联的表单bean。 publicStringgetScope() 该方法返回映射的属性域(会话或请求)。三、Struts主要控制器组件3、ActionForm组件 ActionForm组件用于保存请求的参数。Struts框架假设用户在应用程序中为每个表单都创建了一个ActionFormbean,对于每个在struts-config.xml文件中定义的bean,框架在调用Action类的perform()方法之前会进行以下操作: 在相关联的关键字下,它检查用于适当类的bean实例的用户会话,如果在会话中没有可用的bean,它就会自动创建一个新的bean并添加到用户的会话中。 对于请求中每个与bean属性名称对应的参数,Action调用相应的设置方法。 当Actionperform()被调用时,最新的ActionFormbean传送给它,参数值就可以立即使用了。三、Struts主要控制器组件4、ActionForm类扩展org.apache.struts.action.ActionForm类,程序开发人员创建的bean能够包含额外的属性,而且ActionServlet可能使用反射(允许从已加载的对象中回收信息)访问它。 ActionForm类提供了另一种处理错误的手段,提供两个方法:PublicActionErrorsvalidate(ActionMappinmapping,ServletRequestrequest)PublicActionErrorsvalidate(ActionMappinmapping,HttpServletRequestrequest)三、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.Action类,并且覆盖类中定义的某一个perform()方法。四、Struts标签库JSP视图所使用的struts标签库由四类标签组成:Bean标签:用来在JSP页中管理bean;逻辑标签:用来在JSP页中控制流程;HTML标签:用来生成HTML标记,在表单中显示数据,使用会话ID对URL进行编程;模板标签:使用动态模板构造普通格式的页。1、字体安装与设置如果您对PPT模板中的字体风格不满意,可进行批量替换,一次性更改各页面字体。在“开始”选项卡中,点击“替换”按钮右侧箭头,选择“替换字体”。(如下图)在图“替
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 电子计算机公司人力资源总监述职报告
- (2026版)双向转诊工作方案与制度、流程
- 2025年重庆市潼南区数学中考模拟卷
- 某纸业厂生产流程操作准则
- 出纳务实试题及答案
- 三减试题及答案
- 麻纺厂安全生产目标考核细则
- 某汽车厂精益生产制度
- 2026年密接次密管控工作试题及答案
- 工考计算机试题及答案
- 2026年测量员考试题及答案
- 养老机构风险管理与应对机制
- 2025年江苏省基层法律服务工作者执业核准考试试题(含答案)
- 2026年马工程民法学配套练习题库包(典型题)附答案详解
- 县区国防教育工作制度
- 招行工作制度
- 冷库全员安全生产责任制度
- 诊所院内感染管理制度
- 义乌商城集团招聘2026笔试题
- 急性心肌梗塞的早期识别与处理
- 山东省护理文书书写与管理基本规范(2025年版)
评论
0/150
提交评论