某次面试,叫谈一下struts1.x与struts2.x区别,由于不太重视这次面试,临场组织得不好,回答得一般。
难以明白,明明两样不同的东西,有什么区别好讲的?
与其说struts1.x与struts2.x的区别,不如说MVC框架一般具有哪些功能?
大范围来讲MVC框架核心就是请求转发,通常C 和V都要我们去实现。
具体来讲,一般有如下功能:
1、接收客户端的请求,并对客户端的请求的数据进行收集与校验
2、支持返回多种视图
3、支持国际化
4、支持异常的统一处理
5、支持AOP技术,能对请次Action请求进行处理
6、支持resutlful
那么MVC框架之间的区别,实际上也就这几个方面实现方式的区别
如果具体到struts1.x与struts 2.x区别
那么可以从如下着手:
1、框架是否具有侵入性,Action是否依懒Servlet API?
2、客户端接收的数据,每个方法都可以进行不同的校验?
3 、Action是否线程安全,单例还是多例?
4、是否内置返回多种视图的支持?
5、是否提供类似AOP技术的支持?如对请求每个Action前后进行某些处理
6、是否提供resultful支持
ps:国际化与异常统一处理MVC框架一般都有此功能。