action类的生命周期为:。
当浏览器发送请求到服务端—(名字没后缀,或者带.action)——-〉struts2的核心过滤器:StrutsPrepareAndExecuteFilter进行第一层过滤——〉各层拦截器进行过滤—-〉框架利用反射技术把相关的action类进行初始化——〉得到运行的结果—〉各层拦截器—–〉StrutsPrepareAndExecuteFilter—-〉进行显示层的显示
其中,每次请求,都会使服务器实例化出新的action类,所以action是线程安全的。
例子:
我们在Customer类中,把空参构造方法定义成这样:
public class Customer extends ActionSupport implements Serializable {
private Integer id;
private String name;
public Customer(){
System.out.println("customer is inited!");
}
当在访问update动作的时候,显示:
customer is inited!
updateCustomer