struts2知识小结.docx

上传人:b****1 文档编号:11015234 上传时间:2023-05-28 格式:DOCX 页数:14 大小:1.35MB
下载 相关 举报
struts2知识小结.docx_第1页
第1页 / 共14页
struts2知识小结.docx_第2页
第2页 / 共14页
struts2知识小结.docx_第3页
第3页 / 共14页
struts2知识小结.docx_第4页
第4页 / 共14页
struts2知识小结.docx_第5页
第5页 / 共14页
struts2知识小结.docx_第6页
第6页 / 共14页
struts2知识小结.docx_第7页
第7页 / 共14页
struts2知识小结.docx_第8页
第8页 / 共14页
struts2知识小结.docx_第9页
第9页 / 共14页
struts2知识小结.docx_第10页
第10页 / 共14页
struts2知识小结.docx_第11页
第11页 / 共14页
struts2知识小结.docx_第12页
第12页 / 共14页
struts2知识小结.docx_第13页
第13页 / 共14页
struts2知识小结.docx_第14页
第14页 / 共14页
亲,该文档总共14页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

struts2知识小结.docx

《struts2知识小结.docx》由会员分享,可在线阅读,更多相关《struts2知识小结.docx(14页珍藏版)》请在冰点文库上搜索。

struts2知识小结.docx

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文件中配置多个通过指定method方法名method不一样

创建Action

4.在struts.xml文件中配置MusicManagerAction类的相关信息,参考代码如下:

动态方法调用!

对于上述配置,如果一个Action类有多个方法处理用户请求,就会在struts.xml文件中为同一个类配置多个不同的方法。

这种使用method属性来调到方法的方式导致配置文件中的产生了大量的元素,非常不便于代码的后期维护就引用动态调用。

动态方法调用简称DMI(DynamicMethodInvocation)

--定义常量,以下信息表示Struts2允许动态方法调用-->

需加上去

--MusicmanagerAction配置信息-->

/musicList.jsp

使用通配符

*号代表某一个方法

知识点三管理处理结果

当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()方法

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

当前位置:首页 > 求职职场 > 简历

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2