struts1和struts2的区别 用哪个好 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 1 Action类:Struts1 继承一个抽象基类,Struts2就自由点,只要有 execut方法的Pojo对象就能当action使用,当然也可以继承一些接口和基类。 2线程:Struts1 action是单例模式而且必须是线程安全的。Struts2 action为每一个请求产生一个实例,所以没有线程安全问题。 3 依赖:Struts1 Action依赖servletAPI,Struts2不依赖,因为Struts2 的Action就是一个普通的java类。 4 封装请求:Struts1用扩展ActonForm的类来捕获页面请求参数,ActonFrom是纯粹的Vojo,这使开发者往往还要自行创建一个javaBean来封装这些参数用来作为持久或其它用途,重复的描述一个内容。Struts2可以在Acton里设置相应的属性,也可以支持ActionForm这种模式,用模型驱动(ModelDriven)的特性简化了标签对POJO输入对象的引用。 5 表达式语言:Struts1 整合了jstl,Struts2不仅可以使用jstl,还整合了OGNL,因此表达式语言功能更强大。 6 传值到视图:Struts1使用标准jsp机制绑定对象到页面上下文,Struts2使用ValueStack技术,访问更灵活。 7 类型转换:Struts1 使用Commons-Beanutils进行类型转换,转换每一个类,而不能为每一个实例配置。 Struts2使用ONGL进行类型转换,支持基本数据类型和常用对象之间的转换。 8数据校验:Struts1支持ActionForm重写validate手动校验,或通过CommonsValidator扩展校验,同一个类可以有不同的校验内容,但不能校验子对象。Struts2 支持重写validate,也支持XWork校验框架进行校验。 9 Action执行控制: Struts1支持每一个模块有单独的生命周期,但是模块中所有的Action必须享有相同的生命周期。 Struts2 支持拦截器栈为每一个Action创建不同的生命周期。 struts2 似乎更加好一点,因为它可以节省很多代码。配置相对来说也比较简单一些,不过完全看楼主个人喜欢咯!就像我,我比较喜欢struts1 。另外要是做项目的话。得根据实际去做! 本质上是不一样的.!!~~当然struts2是由struts1和webwork整合改进而来的!~~原理上是webwork的进化而不是struts1... 现在基本都用struts2了,当时apache先出了struts 做得还不错占据了一定的市场份额,但后来weblogic出了另一个mvc的框架,做得比apache好,市场份额越来越多,apache就把那个纳入旗下,合作出了struts2,其实很多东西都是weblogic里面的。 是webwork不是weblogic中午刚吃过饭,有点迷糊 又是java.lang.NullPointerException rtf格式文件的读取 String的基础问题 局域内的两台机子,怎么样通过应用程序来实现传送文件呢? 大家谈谈java多线程实现原理(关注于java本身多线程底层的实现机制,而非多线程的应用机制)(纯技术讨论哦!^_^) 谁有jtextarea的caret类的资料 字符排序算法问题 StringBuffer strBuf 括号里的这个形参的 如何将几个图像拼成一个图像? 请问java怎么实现传递引用? 想要精通Core Java 应该做到的! 请高手解决一个问题。关于final类型
2线程:Struts1 action是单例模式而且必须是线程安全的。Struts2 action为每一个请求产生一个实例,所以没有线程安全问题。
3 依赖:Struts1 Action依赖servletAPI,Struts2不依赖,因为Struts2 的Action就是一个普通的java类。
4 封装请求:Struts1用扩展ActonForm的类来捕获页面请求参数,ActonFrom是纯粹的Vojo,这使开发者往往还要自行创建一个javaBean来封装这些参数用来作为持久或其它用途,重复的描述一个内容。Struts2可以在Acton里设置相应的属性,也可以支持ActionForm这种模式,用模型驱动(ModelDriven)的特性简化了标签对POJO输入对象的引用。
5 表达式语言:Struts1 整合了jstl,Struts2不仅可以使用jstl,还整合了OGNL,因此表达式语言功能更强大。
6 传值到视图:Struts1使用标准jsp机制绑定对象到页面上下文,Struts2使用ValueStack技术,访问更灵活。
7 类型转换:Struts1 使用Commons-Beanutils进行类型转换,转换每一个类,而不能为每一个实例配置。 Struts2使用ONGL进行类型转换,支持基本数据类型和常用对象之间的转换。
8数据校验:Struts1支持ActionForm重写validate手动校验,或通过CommonsValidator扩展校验,同一个类可以有不同的校验内容,但不能校验子对象。Struts2 支持重写validate,也支持XWork校验框架进行校验。
9 Action执行控制: Struts1支持每一个模块有单独的生命周期,但是模块中所有的Action必须享有相同的生命周期。 Struts2 支持拦截器栈为每一个Action创建不同的生命周期。
另外要是做项目的话。得根据实际去做!