Struts1和Struts2区别
Struts1
基于servlet
actionservlet任务过于集中,不容易扩展和定制
不容易测试
action是单例的(有同一个action实例处理到达action的请求),所以不要action中声明实例变量(共享)
actionform:太多造成类的爆炸
struts1的action和原生servlet api(HttpServletRequest,HttpServlerResponse)绑定在一起,耦合性较高
Struts2
struct2:基于Filter(StrutsPrepareAndExecuteFilter),没有actionform,action(原型的,独占)
分离关注(来源于webwork,类似于spring aop(面向切面编程))
分离关注:将web开发中的常规任务剥离开来分别交给不同的组件(拦截器)处理
action是模型层(接受参数+pojo).
pojo就是JavaBean,简单的Java对象
struts2是更加整洁的mvc框架(原因是采用了separate aware技术,实现任务的拆解).
action不需要和struts的action和原生servlet API(HttpServletRequest,HttpServlerResponse)耦合在一起.松耦,测试性和可维护性,移植性高