struts2知识小结.docx
- 文档编号:24563552
- 上传时间:2023-05-28
- 格式:DOCX
- 页数:14
- 大小:1.35MB
struts2知识小结.docx
《struts2知识小结.docx》由会员分享,可在线阅读,更多相关《struts2知识小结.docx(14页珍藏版)》请在冰豆网上搜索。
struts2知识小结
Struts2框架
第1章Struts基础
本章内容
定义:
是由Apache(阿帕奇软件基金会)在2007年初在Struts1和Webwork的基础上研发出的新一代的MVC框架
StrutsPrepareAndExecuteFilter类是Struts2的控制器,用于过滤客户端的所有请求。
它是Struts2框架的入口,如果未在web.xml中进行配置,Struts2框架就会失去其作用。
但一般不需要手动创建在新建Struts.xml文件的时候就自动创建了web.xml。
然后开始写jsp页面,写对应的Action,在Struts.xml文件中进行配置action
知识点一属性驱动模型:
Struts2的属性驱动指的是在JSP页面的每一个form中的name都在action中有一个属性与之对应,用一个实体类封装属性,在jsp书写方式为实体类.属性名
属性驱动模型获取用户登录、注册信息,a需定义一个实体类,b修改login.jsp页面中用户名和密码的参数名cAction中定义实体属性并getset方法
知识点二Action中指定业务方法的调用
A为action元素指定method属性这样的话action类中如果有多个方法,比如说对一个表的CRUD操作的方法都封装在一个Action中,那么就得在Struts.xml文件中配置多个
创建Action
4.在struts.xml文件中配置MusicManagerAction类的相关信息,参考代码如下:
动态方法调用!
对于上述配置,如果一个Action类有多个方法处理用户请求,就会在struts.xml文件中为同一个类配置多个不同的方法。
这种使用method属性来调到方法的方式导致配置文件中的产生了大量的
动态方法调用简称DMI(DynamicMethodInvocation)
--定义常量,以下信息表示Struts2允许动态方法调用-->
--MusicmanagerAction配置信息-->
使用通配符
*号代表某一个方法
知识点三管理处理结果
当Action处理完用户请求后,处理结果应该通过视图资源来实现但控制器应该控制将哪个视图资源呈现给浏览者,这由
通常无须指定parse参数的值,所以常常采用如下简化形式来配置实际视图资源。
Struts2还允许省略指定结果类型,可改写成如下形式:
配置
1.没有指定location参数,系统将
2.没有指定name属性,则name属性采用默认值:
"success"。
3.没有指定type属性,则采用Struts2的默认结果类型(即dispatcher)。
redirectAction结果类型将请求重定向至指定的Action
当一个Action处理完成之后,系统需要让另一个Action进行下一步处理,此时就可以使用redirectAction结果类型
当用户添加歌曲信息之后,如果需要立即呈现出系统内的所有歌曲信息,此时需要使用redirectAction结果类型。
具体操作步骤如下:
在Action中访问ServletAPI
Struts2提供了一个ServletActionContext类用于访问ServletAPI。
使用ServletActionContext类访问ServletAPI的操作步骤如下:
1.创建Action类ServletApiAction,该类用于直接访问ServletAPI
2.在struts.xml文件中配置ServletApiAction类的相关信息
第2章第02章:
标签库、输入验证和拦截器
必须先<%@taglibprefix="s"uri="/struts-tags"%>导入标签指令
property标签的作用就是输出指定的值。
该标签的使用方式类似于JSTL标签库中的out标签。
if/elseif/else这三个标签都是用于进行分支控制的,它们都用于根据一个Boolean表达式的值,来决定是否计算、输出标签体的内容。
iterator标签主要用于对集合进行迭代,此处的集合包含List、Set和数组,也可对Map类型的对象进行迭代输出。
手动完成输入校验
输入校验主要分为两种:
基于客户端的校验
客户端校验的主要作用是防止正常浏览者的误输入,仅能对输入进行初步过滤;对于一些用户的恶意行为,客户端校验则无能为力。
基于服务器端的校验
服务器端接收客户端提交的数据,对这些数据的合理性、安全性等进行进一步的判断处理。
通过重写validate()方法完成输入检验的操作步骤如下extendsActionSupport
3.在struts.xml文件中,对类ValidateUserAction进行配置
Struts2的Action类中可以包含多个处理逻辑,不同的处理逻辑对应不同的方法,validate()方法仅能对execute()进行输入校验。
为了实现校验指定处理逻辑的功能,Struts2的Action允许提供一个validateXxx方法,其中,Xxx即是Action对应的处理逻辑方法名。
如果需要对Action中的login()方法进行输入校验,则需要按照如下规则对方法进行命名:
validateXxx方法进行输入校验的具体操作步骤如下:
1.对2.2.2小节中的ValidateUserAction进行改写,为该Action增加login方法,并增加validateLogin方法。
2.
2.在struts.xml文件中,对ValidateUserAction类信息进行修改。
修改后的代码如下:
当请求login()时,ValidateUserAction类中的validateLogin方法和validate方法都会被调用,这是Struts2默认行为。
示例中,由于将validate方法进行了注释,因此validate方法没有执行。
在开发中,应该避免使用execute()方法处理用户请求和使用validate方法对execute()方法进行输入校验。
类范围拦截器
自定义基于类范围的拦截器extendsActionSupport
如果为Action指定一个拦截器,则系统默认的拦截器将会失效,导致Struts2
的很多功能无法使用。
所在Action指定了一个拦截器后,还需要将默认拦截器
注册给该Action。
Struts2默认拦截器的别名为defaultStack。
方法拦截器extendsActionSupport
自定义方法拦截器类需要继承类MethodFilterInterceptor,它提供了拦截方法的功能。
它是AbstractInterceptor的子类
在struts.xml中,要指明哪些方法需要拦截。
自定义action可以Action接口,主要是为了保证execute的正确定义,也可以不实现此接口,只要能保证execute方法书写的正确书写(方法名,返回值)。
自定义基于类范围的拦截器
需要继承抽象的拦截器类extendsAbstractInterceptor
重写String intercept()方法
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- struts2 知识 小结