我是struts初学者,请高手指教struts1和2的具体区别啊

解决方案 »

  1.   

    1.struts1的action是单例模式且必须是线程安全的,action的一个实例处理所有请求.
    struts2的action对象为每个请求产生一个实例,没有线程安全问题.
    struts1的action依赖于servlet api,struts2的action不依赖与容器,允许脱离容器单独测试.
    2.struts1的execute方法依赖于servlet api,使得测试要依赖于容器.struts2的action可以通过初始化,设置属性,调用方法来测试,依赖注入支持是测试更容易.
    struts1试用ActionForm对象捕获输入,普通JavaBean不能捕获输入.动态bean可以作为ActionForm的选择,但是是在重复描述已经存在的Javabean.
    struts2直接试用action属性作为输入属性,消除了对第二个输入对象的需求.也支持ActionForm模式,这种ModelDriven特性简化了tiglib对POJO对象的应用.
    3.struts1整合的JSTL,试用JSTL EL,EL有基本对象图遍历功能,但是对集合和索引属性的支持很弱
    struts2可以使用JSTL,但是也支持一个更强大和灵活的表达式语言--
    Object Graph Notation Language(OGNL)
    4.struts1试用标准jsp机制把对象绑定到页面中来访问
    struts2试用ValueStack技术,允许试用一系列名称相同但类型不同的属性重用页面
    5.struts1的ActionForm通常都是String类型,试用BeanUtils进行类型转换
    struts2使用OGNL进行类型转换,提供基本和常用对象的转化器.
    6.struts1支持在ActionForm的validate方法中手动效验,或者通过validator扩展效验
    struts2支持通过validate方法和XWork效验框架来进行效验
    7.struts1支持每个模块有单独的request生命周期,但是模块中的所有action必须共享相同的生命周期
    struts2支持通过拦截器interceptor stacks为每个action创建不同的生命周期
      

  2.   

    http://blog.csdn.net/chenssy/article/category/1087184  这个地址去看一看,我也正在学习,资料挺好的!