Struts里的action是单例,那这个单例是什么意思?
Struts里的action是单例,那这个单例是什么意思?
首先action不是单例。
这里说的单例,是设计模式里提到的单例模式(singleton),一个程序这个类型只有一个对象实例。
struts 2的Action是多实例的并非单例,也就是每次请求都会产生一个Action的对象。Servlet是单例的,也就是整个应用中每个被请求到的Servlet类都只创建了一个对象,所有相同请求都是调用同一个对象的service方法处理的。所谓单例就是通过限制对象的构造过程通常私有化构造函数,保证整个应用中只有一个该类的实例,即单例。
struts1.x才是单例模式,而struts2不是,struts2是,一个action创建一个对象。