Struts2.1.x快速入门(二)
------------------------------
本文转载自--http://yulon.iteye.com/blog/551982
------------------------------
六、Struts2的处理流程与Action的管理方式???????6.1struts2处理请求图
StrutsPrepareAndExecuteFilter是Struts 2框架的核心控制器(相当于strtuts1.x的ActionServlet类的作用),它负责拦截由<url-pattern>/*</url-pattern>指定的所有用户请求,当用户请求到达时,该Filter会过滤用户的请求。默认情况下,如果用户请求的路径不带后缀或者后缀以.action结尾,这时请求将被转入Struts 2框架处理,否则Struts 2框架将略过该请求的处理。当请求转入Struts 2框架处理时会先经过一系列的拦截器,然后再到Action。与Struts1不同,Struts2对用户的每一次请求都会创建一个Action,所以Struts2中的Action是线程安全的。也正因为如此,Struts2里可以定义成员变量,从而废弃了Struts1.x里的Form Bean.即Struts2的Action已具备了Struts1.x里的Form Bean的功能.
七、动态方法调用和使用通配符定义action?????? 7.1? 动态方法调用
????????????? 如果Action中存在多个业务方法时,我们可以使用!+方法名调用指定方法。?我们在HelloWorldAction里添加两个业务方法,如下:
????此时如果要访问action的del() 方法,我们可以这样调用:/struts2.1/test/delUser 即可调用到del()方法.
??? 知识提示:{1}表示与第一个*号匹配,{1}不但可以在method属性上使用,还可以在其他地方使用,如在<result>使用:
??? 左边定义的是要转换的类型,作用了全部Action类.
??? 注意: 如果同时定义了局部和全局的类型转换器,对于同一个类型,局部会覆盖全局的转换器