Struts 整理

Struts配置文件节点说明:


Struts 整理_第1张图片

通过源代码了解struts运行路径:

1:解析请求路径得到path


2:根据path得到一个ActionMapping

封装一个action节点的所有信息,包括子节点信息,如:forwoard

3:得到formBean

a.在scope指向的范围内寻找,名字以attribute为准:


b.如果找到返回,没有找到创建,为了效率把formBean放到scope所指向的范围内;


c.调用formBean的reset方法(重置),因为此formBean可能是从request或session范围中取出的,还保留上次业务逻辑的数据

d.根据请求参数给formBean赋值

a)Enumeration name =request.getParametersName();得到客户端请求参数名的集合;

b)循环每个名称并求parmeterValue= request.getParameterValues(“name”);

c)BeanUtils.populate(bean,properties);给formBean赋值。

4.得到ActionBean


5.调用actionBean的exectue方法,返回ActionForward对象

6.请求转发或者重定向到指定的新页面


formBean验证用户名和密码不为空(与js在客户端验证有别):重写validate方法:

Struts 整理_第2张图片

实体Bean作为formBean的属性

1.用struts时,当formBean中有多个字段,为了减小冗余 将用到类:BeanUtils,这样就可以将一系列的set方法 删掉了 如:

Struts 整理_第3张图片

Struts 整理_第4张图片

Struts-DispatchAction(为了解决action数目过多的问题)

使用步骤:

1:

Struts 整理_第5张图片

Struts 整理_第6张图片

Struts 整理_第7张图片

Struts 整理_第8张图片


扩展RequestProcessor(类似于过滤器)

1.继承至RequestProcessor类,重写prcessPreprocess方法(方法返回true则继续运行(创 建actionMapping,formBean等…))


Struts 整理_第9张图片

1.配置一个controller节点(下面的配置(控制器、资源文件、插件)位置不能调换)

Struts 整理_第10张图片


你可能感兴趣的:(struts)