Struts2的起源与背景

一、Struts1存在的弊端:

      1.表现层支持单一

             Struts1构架只支持JSP作为表现层使用,而很多Java应用,在表现层技术选择时并不一定只使用JSP一种技术。如FreeMarker,Velocity等,这是因为Stust1框架的出现远在这些页面技术出现之前。而当多形式的视图技术出现后,Strust1又无法与这些视图技术进行整合,从而限制了Struts1的发展。

     2.对Servlet API的依赖

           Strust1框架是基于ModeⅡ(JSP+Servlet+JavaBean)模式开发而成的,因此在其中会应用到大量的Servlet API,而Servlet需要通过Web容器进行初始化,从而进一步对Web容器产生依赖。因此。一旦脱离了Web容器,整个程序将很难完成测试。

    3. 不利于代码重用

           在Struts1开发的代码中除了自己定义的类外,还必须使用Struts1中的某些类(如actionForm)。这样带来的弊端是,与Struts1类的耦合在一起很难在其他的系统中进行重用。



二、Struts2

       Struts2以WebWork的设计思想为核心,吸收了Struts1的部分优点,建立了一兼容WebWork和Struts1的MVC框架(可以说Struts1和WebWork组成了Struts2)




       优点: 更加强调系统之间松耦合,使用拦截器来实现控制。

                  Struts 2拥有更加广阔的前景,自身功能强大,还对其他框架下开发的程序提供很好的兼容性


你可能感兴趣的:(Struts2,struts2.0)