Struts2总结
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第一章MiniStruts 的制作
不使用Servlet,也不使用request.getParameter()获取参数;是用户能够直接访问Dao中的查询方法?
1、可以使用filter过滤器,用来拦截用户的表单提交(请求的路径、请求的参数)。
2、根据路径分析出,应该调用哪个类的哪个方法。
3、根据请求的参数,动态的将参数的值,设置到类的属性中去。
4、执行完成之后,需要跳转的页面(创建xml配置文件,配置用户跳转的路径信息)。
一、s truts的实现步骤
手动导入:
1.创建Web项目。
2.导入Strutrs的几个必须包(7个jar)。
3.在src目录下,创建struts.xml配置文件(名字和路径都不能改)。
4.在web.xml配置文件中,添加Struts的支持(配置一个filter过滤器)。
自动导入(Myeclipse8.0以上的版本):
第二章深入Struts
Struts2运行原理:
请求--- >自定义过滤器----> filterdispatcher ------> ActionProxy(代理,读取struts.xml的配置文件)---->ActionInvocation(action的调用者,调用具体的Action;在调用之前经过一系列的拦截器)——>执行完Action之后,跳转到对应的页面。
注意:struts中的所有编码处理都是i18n拦截器处理,所有的表单数据处理都是在系统默认拦截器中获取。
Struts.xml配置文件详解:
动态方法调用:
注意:1. 在配置
2. 在请求action的路径指定需要执行的方法名即可。(格式:action名!方法名.action)使用通配符进行模糊匹配:
Struts2对返回结果页面进行配置:
全局结果配置:
第三章Struts2的拦截器
1.什么是拦截器?
在用户访问Action之前和之后执行相应的操作,称为拦截器。
例如:将表单中的数据自动转换到Action的属性,使用的就是一个拦截器。
2.拦截器与过滤器(filter)异同?
a)过滤器是根据用户的地址进行过滤,可以过滤任意路径(包括jsp、html、action等等)。
b)拦截器只能用来过滤action,不依赖于访问的路径。
3.实现自定义拦截器步骤
使用拦截器注意事项:
1.在action中使用了自定义拦截器,系统默认的defaultStack拦截器链会失效;必须
使用引入。
2.在引入多个拦截器的时候,推荐使用拦截器链的方式简化拦截器的使用。
第四章Struts2的类型转换器
1.Struts2中类型转换分为两种:
a)手动(自定义)转换器
b)自动转换器
2.手动(自定义)转换器(针对特殊属性)
a)在action的类中,必须继承ActionSupport类。
b)定义转换器的类,继承DefaultTypeConvert,重写convertValue()方法。
c)创建配置文件(注意:1.文件名必须是:Action的类名-conversion.properties ; 2. 必须将
配置文件存放在Action所在的包中。)
3.自动转换器(常用的方式)
第五章Struts2的输入验证
一.验证分类:
1.服务器端验证(Java代码来完成验证(Struts的内置验证框架,可以完成服务器端验证))。
2.客户端验证(js验证——在客户端执行,执行的时候依赖与客户度(手动js验证,jquery
验证框架进行验证))
二.Struts的内置验证框架:
Struts2中验证有两种方式:
1.手动验证。
2.配置验证框架,自动验证。
三.内置验证框架使用步骤:
1. 需要验证的Action必须继承自ActionSupport类。
2. 创建验证配置文件。
要求:a) 配置文件必须和action在同一目录。
b) 文件名的格式必须是:Action类名-validation.xml(验证Action中的所有方法)
Action类名-访问Action的名字-validation.xml(只会验证
Action中指定的方法)
3. 查看内置验证器:xwork-XXXXX.jar目录中(找到default.xml配置文件)
特别需要注意:注意哦!
1. 使用了验证器之后,如果验证失败;必须配置
2. 如果jsp页面中使用了,Struts的标签;那么必须让这个jsp页面必须经过struts的核心过滤器,进行过滤;否则页面不能正常解析struts的标签。
3.基本数据类型,不能使用Struts的内置验证,建议使用包装类。
四.手动验证步骤:
1. 继承ActionSupport,重写validate()方法。
在执行Action中具体的方法之前,会先执行validate()方法;如果有错误,则返回input 指定的页面。(有错误:super.addFiledError())
手动验证总结:
1.可以在实体中的setXxx()方法进行控制。
2.在validate()方法中进行验证。
第六章Struts2的标签库
Action配置中一定要设置input返回页面
添加验证只要创建验证的xml文件
1.创建xml文件名
验证Action中全部方法
在Action同包下,创建:Action类名-validation.xml
如:ValidateAction创建ValidateAction-validation.xml