action的一个方法可以对应一个url,而其类属性却被所有方法共享,这也就无法用注解或其他方式标识其所属方法了;
4、spring3mvc的方法之间基本上独立的,独享request response数据,请求数据通过参数获取,处理结果通过ModelMap交回给框架,方法之间不共享变量。而struts2搞的就比较乱,虽然方法之间也是独立的,但其所有Action变量是共享的。这不会影响程序运行,却给编码读程序时带来麻烦 ;
5、由于Struts2需要针对每个Request进行封装,把Request,Session等Servlet生命周期的变量封装成一个一个Map,供给每个Action使用,并保证线程安全。所以在原则上,是比较耗费内存的。
我也推荐不要使用了,spring的确实会大大降低维护成本,缺点就是这方面的教程很少,官方的文档本身也描述的过于简单。所以,学习成本很高的,不过spring有一个官方开发工具,可以创建一个完整的spring mvc实例,这个实例还是很有看头的,推荐使用spring官方推出的开发工具开发spring mvc。 推荐你现在的项目依旧用spring、、hibernate开发,不过可以兼顾学习一下spring mvc,项目开发还是先稳妥一点(我就有过使用新技术造成项目严重延迟的问题,被“奖励”了),不过长远看来,spring mvc的优势更加明显,更重要的是调试更加简单,维护也很方便,spring类似于、IoC也能获得发挥的余地。