现在和以前不一样了,我记得我用struts那年代,还不流行注入,现在不同了我自己写的东西也经常靠反射注入,
servlet里面必须有字段了,否则注给谁啊,主要是用起来方便,不靠属性注入也是可以的,但不方便。非单例线程
我觉得根源还是方便,安全,基础不好的也不会写出有bug的程序来。servlet中的各个方法也不能靠参数传来传去了。
同时现在jvm性能也比较好了。
servlet里面必须有字段了,否则注给谁啊,主要是用起来方便,不靠属性注入也是可以的,但不方便。非单例线程
我觉得根源还是方便,安全,基础不好的也不会写出有bug的程序来。servlet中的各个方法也不能靠参数传来传去了。
同时现在jvm性能也比较好了。
struts-》Structs
另外现在硬件也很好了。
同时在web容器上,考虑了线程池。线程的创建性能没有了,普通对象的创建速度还是很快的。
不过struts和线程还是有关系的,struts的老版本原理是servlet分发器。
SingleThreadModel虽然在同一时间只能有一个现成访问service方法,但是SingleThreadModel并不能保证静态变量、会话属性等信息被多线程访问(那这个接口还能干什么),所以Servlet API 2.4不推荐使用它。 servlet存在线程安全问题,因为初始化的时候,一般只实例化一个Servlet实例,所以就存在属性会被多线程更改的问题,既然实现这个接口也不能保证多线程的并发,那么莫不如人为的避免多线程问题,比如声明局部变量,不保留状态等
再想请教一下,session为什么不是线程安全的,在什么情况下会出现并发访问的情况。
http://www.java2000.net/p9667
struts-》Structs
另外现在硬件也很好了。
同时在web容器上,考虑了线程池。线程的创建性能没有了,普通对象的创建速度还是很快的。