struts1:基于Servlet(ActionServlet)
- actionForm众多(类的爆炸)
- action单例(数据安全[线程安全]问题).
- 将所有任务的解决都集于一身.(不容易扩展和定制)
- ++action位于控制层++. extends Action{…}
- action需要struts1的action和原生servlet api(HttpServletRequest,HttpServlerResponse)绑定在一起,因此不容易测试,需要部署到web容器中进行测试.
struts2:基于filter
- 没有actionform,action(原型的,独占).
- seperate aware:分离关注.解耦.(interceptor,拦截器).
- ++action是模型层++(接受参数+pojo).
- action不需要和struts的action和原生servlet API(HttpServletRequest,HttpServlerResponse)耦合在一起.所以更容易测试,不需要一定要部署到web环境中进行测试.
- struts2是更加整洁的mvc框架(原因是采用了seperate aware技术,实现任务的拆解).
博客对比了Struts1和Struts2框架。Struts1基于Servlet,存在actionForm众多、action单例有数据安全问题、不易扩展定制和测试等缺点;Struts2基于filter,无actionForm,采用分离关注技术解耦,action在模型层,与原生servlet API解耦,更易测试,是更整洁的MVC框架。

2419

被折叠的 条评论
为什么被折叠?



