Struts1框架知识和实战讲解优质PPT.ppt

上传人:b****1 文档编号:14327475 上传时间:2022-10-22 格式:PPT 页数:39 大小:1.46MB
下载 相关 举报
Struts1框架知识和实战讲解优质PPT.ppt_第1页
第1页 / 共39页
Struts1框架知识和实战讲解优质PPT.ppt_第2页
第2页 / 共39页
Struts1框架知识和实战讲解优质PPT.ppt_第3页
第3页 / 共39页
Struts1框架知识和实战讲解优质PPT.ppt_第4页
第4页 / 共39页
Struts1框架知识和实战讲解优质PPT.ppt_第5页
第5页 / 共39页
点击查看更多>>
下载资源
资源描述

Struts1框架知识和实战讲解优质PPT.ppt

《Struts1框架知识和实战讲解优质PPT.ppt》由会员分享,可在线阅读,更多相关《Struts1框架知识和实战讲解优质PPT.ppt(39页珍藏版)》请在冰豆网上搜索。

Struts1框架知识和实战讲解优质PPT.ppt

由实现业务逻辑的JavaBean或EJB组件构成;

控制器:

由ActionServlet和Action来实现;

视图:

由一组JSP文件构成。

1.Struts1概述,

(2)实现的MVC框架:

2.Struts1构成,1、Struts运行需要的jar包:

(1)commons-digester.jar用于解析配置文件

(2)commons-fileupload.jar用于实现文件上传(进行了进一步的封装)(3)commons-logging.jar用于日志处理(4)commons-beanutils.jar用于POJO的属性赋值、拷贝等(5)commons-validator.jar用于表单验证,2.Struts1构成,2、struts标记库文件(tld):

(1)struts-bean.tld

(2)struts-html.tld(3)struts-logic.tld(4)struts-nested.tld(5)struts-tiles.tld,2.Struts1构成,3、配置文件struts-config.xml,2.Struts1构成,3.Struts1核心控制流程,1、主要组件:

(1)ActionServlet组件:

充当Struts框架的中央控制器;

(2)RequestProcessor组件:

充当每个子应用模块的请求处理器;

(3)Action组件:

负责处理一项具体的业务。

2、ActionServlet

(1)Struts的启动通常从加载ActionServlet开始(如果没有其他Servlet的加载优先级比它高)。

(2)ActionServlet在应用一加载时即会被实例化并调用其init方法。

init方法所做的主要工作有:

加载struts配置文件,并创建用于封装配置信息的ModuleConfig对象;

加载资源文件,并创建用于封装资源文件的MessageResources对象;

如果有相应配置的话,init方法还将初始化数据源和PlugIn。

注意:

如果web.xml有多模块配置,将创建多个ModuleConfig对象和MessageResources对象分别用于封装各个模块的struts配置文件和资源件。

3.Struts1核心控制流程,config/WEB-INF/struts-config.xmlconfig/ma/WEB-INF/ma/struts-config.xml,3.Struts1核心控制流程,(3)ActionServlet的process()方法的主要工作有:

根据请求信息获知所请求的模块名称,从ServletContext中获得与请求模块对应的的ModuleConfig对象,并存储到request中。

根据模块信息获得相应的RequestProcessor对象,一个模块对应一个RequestProcessor对象,RequestProcessor对象将关联与所属模块对应的ModuleConfig对象。

调用RequestProcessor对象的process方法,将request和response作为参数传递给它。

3.Struts1核心控制流程,3、RequestProcessor类

(1)Struts框架只允许应用中存在一个ActionServlet类,但每个应用程序模块都有各自的RequestProcessor类实例。

(2)RequestProcessor对象的process方法的主要工作:

调用自己的processPreprocess(request,response)方法,该方法不进行任何操作,用于子类重写扩展其功能。

获得与请求地址所匹配的ActionMapping对象,ActionMapping对象用于封装一个特定action的配置信息。

根据ActionMapping中的配置信息获得ActionForm对象(该对象将缓存到request或session中),并将表单数据填充到ActionForm中,然后根据ActionMapping的配置决定是否验证ActionForm,如果验证,将调用ActionForm的validate方法,若其返回的ActionErros对象中包含ActionMessage对象则表示验证失败,将转向action配置信息input属性所指示的地址。

3.Struts1核心控制流程,如果ActionForm无需验证或验证通过将创建并缓存与请求地址匹配的Action对象,将ActionMapping对象、ActionForm对象、request和response作为参数调用其方法。

根据Action对象的方法返回的ActionForward对象,将请求转发或重定向到该ActionForward所封装的地址。

3.Struts1核心控制流程,4、Action类

(1)Action类是用户请求和业务逻辑之间的桥梁

(2)ActionServlet对所有的请求作集中的统一处理,每个不同的Action类具体处理不同的请求。

3.Struts1核心控制流程,(4)struts-config.xml:

attribute=”缓存ActionForm对象的名称(key),不写key就是name的值”,3.Struts1核心控制流程,scope=”缓存ActionForm的范围(request|session)默认是session”validate=”是否要验证true|false”input=”和validate=”true”联用,表示验证失败后,FC把请求转向的地址parameter=”是一个附加的属性,对于不同的Action可能有不同的意义,4.Struts1ActionForm,1、为什么使用form?

(1)用户提交的数据封装成对象;

(2)表单数据的缓存;

(3)表单信息验证(服务器端验证).2、ActionForm的生命周期

(1)ActionFormBean有两种存在范围:

request和session1)如果存在于request范围,它仅在当前的请求/响应生命周期中有效;

2)如果存在于session范围,同一个ActionForm实例在整个Http会话中有效。

在struts配置文件中,元素的scope属性用来设置ActionForm的范围,默认值为session。

4.Struts1ActionForm,5.Struts1异常处理,1、处理流程:

(1)ActionthrowException

(2)ActionServletExceptionHandler(3)ExceptionHandler处理ExceptionExceptionHandler会读配置文件ActionMessage-requestAttributeActionForward(4)ActionServletActionForward,5.Struts1异常处理,2、配置struts的异常处理全局的异常处理:

在exception标签中的key,也就是在出现异常时会封装在ActionErrors中,也就是可以在页面中使用。

ActionError(Stringkey,Objectvalue0),可以通过在构造ActionError时,指定不同的key值来对异常进行分类,并且在html:

error标签的自己构造ActionErrors并使用下面的方法发送voidsaveErrors(HttpServletRequestrequest,ActionErrorserrors)这个方法用以把封装了异常的ActionErrors的key存储到request中。

6.Struts1标签库,Struts提供了五个标签库,即:

HTML、Bean、Logic、Template和Nested。

HTML标签:

用来创建能够和Struts框架和其他相应的HTML标签交互的HTML输入表单;

Bean标签:

在访问JavaBeans及其属性,以及定义一个新的bean时使用;

Logic标签:

管理条件产生的输出和对象集产生的循环;

Template标签:

随着Tiles框架包的出现,此标记已开始减少使用;

Nested标签:

增强对其他的Struts标签的嵌套使用的能力。

6.Struts1标签库,标签的公共特征:

styleId:

命名自定义标签创建时的脚本变量名。

name:

指出关键字值,在该关键字下可以找到一个存在的bean。

如果给出了scope属性,则仅仅在scope中查找。

否则,根据标准的顺序在各种scope中查找。

标准顺序为(page,request,session,application)。

property:

指出bean中的某个属性,可以在其中检索值。

如果没有标明,则使用对象本身的值。

标签、标签、标签、标签、标签、标签、标签都有一个property属性,最后会被转换成HTML中的name属性。

scope:

定义了Bean在哪个范围(page,request,session,orapplication)中被查找。

如果没有标明按顺序查找。

6.Struts1标签库,1.HTML标签a)用于生成基本的HTML元素的标签标签用于生成HTML的元素b)用于显示错误或正常消息的标签:

用于显示错误消息:

用于显示正常消息,6.Struts1标签库,c)用于生成HTML表单的标签数据输入标签,提交按钮标签,6.Struts1标签库,2.bean标签a)用于访问HTTP请求信息或JSP隐含对象b)用于访问Web应用资源:

用于显示ResourceBundle中的消息。

用来从指定的locale中取回国际化的消息并输出。

这个过程可以传递5个以内的参数。

Message标签有两种指定messagekey的方式,一是通过key属性直接指定;

二是通过name和property属性间接的指定,其中messagekey是在messageresources文件中定义的。

如:

6.Struts1标签库,c)用于定义或输出JavaBean的Bean标签bean:

write(输出)d)name,在scope范围找到变量等价于e)filterfilter(true,false),默认是true,true按原样输出,false格式化输出。

f)propertyg)format,6.Struts1标签库,3.logic标签a)进行比较运算的Logic标签b)进行字符串匹配的Logic标签c)判断指定内容是否存在的Logic标签和和和,6.Struts1标签库,d)进行循环遍历的Logic标签e)进行请求转发或重定向的Logic标签4.

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 考试认证 > IT认证

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1