springMVC为什么可以是单例的,而struts2必须是多例的?

springMVC的参数都是在方法中传递的,使用的都是局部变量,该变量的生命周期仅仅存在在方法中,方法调用完毕,参数就会

      被销毁,所以即使springMVC是单例的,也不会影响到控制层方法的调用,struts2框架之所以必须是多例的,那是因为他使用

      了全局变量,通过get和set方法赋值。如果struts2框架是单例的,那么就会造成下一个请求还能看到上一个请求的参数,造成

      信息泄露和影响当前请求的正确执行,所以struts2框架要设置为多例的,每次请求创建一个新的对象,新旧对象之间参数互不

      影响,这样也就造成了struts2框架对内存的消耗大的问题。

你可能感兴趣的:(java)