Struts配置文件节点说明:
通过源代码了解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方法:
实体Bean作为formBean的属性
1.用struts时,当formBean中有多个字段,为了减小冗余 将用到类:BeanUtils,这样就可以将一系列的set方法 删掉了 如:
Struts-DispatchAction(为了解决action数目过多的问题)
使用步骤:
1:
扩展RequestProcessor(类似于过滤器)
1.继承至RequestProcessor类,重写prcessPreprocess方法(方法返回true则继续运行(创 建actionMapping,formBean等…))
1.配置一个controller节点(下面的配置(控制器、资源文件、插件)位置不能调换)