面试官问道:有了stuts的mvc为什么还要spring的mvc ,你觉得spring有什么不爽的地方?
springmvc面试复习个人觉得两者之间的区别还是比较明显的,先说一下他们的共同点:
1.都是mvc框架;
2.感觉struts的action类似于spring的ioc,都是使用java反射机制来实现的依赖注入;
3.struts2的使用也类似于spring的aop,都是通过动态代理实现的;
他们的区别,在我看来有如下:
1.配置不一样(这点就不多说了)
2.spring的控制器对象的处理请求方法需要带有HttpServletRequest和HttpServletResponse参数,这样不便于调试;
3.参数的接收,在struts2中通过set方法就实现了,而spring则取药显式的去从request中获取,另外参数的传递也比较方便;
4.struts2处理请求的返回页比较方便,通过acction的返回的结果名称,定位返回的页面或者重定向到另一个action
5.struts2同时提供了对于请求变量的校验和类型的转换;
6.我觉得spring在mvc框架中相对于struts2的优势在于它的IOC,struts2只是注入action,而spring可以将更多的bean注入到这个action中;
综上所述,springmvc较struts2更轻量,但是没有struts2在mvc方面功能强大.
两者不可同日而语
前者是web界经典的mvc框架系Apache软件基金下Jakarta项目的一部分,主要架构设计和开发者是Craig R.McClanahan,到现在已经将近8年时间了
后者是Rod Johnson 是对《Expert One-on-One J2EE Design and Development》一书中所阐述的设计思想的具体实现,基于interface21 开发包
引入了IOC、 AOP、 等重要思想的轻量级框架。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论