struts1与struts2都是mvc框架的经典实现模式。
Struts2不是从Struts1升级而来,而是由WebWork改名而来,而WebWork只是Xwork加了很多WEB拦截器而已
区别:
1.核心控制器改成了过滤器(过滤器比Servlet的级别要高,因为程序运行时是先进入过滤器再进入Servlet)
2.struts1严重依赖于Servlet(因为太过于依赖于api的HttpServletRequest与HttpServletResponse的两个参数),
struts2就则脱离了Servlet的API。
3.管理Action时struts1是单例模式,struts2是每个请求产生一个实例。
4.在表达式的支持上struts2不仅有jstl,还有功能更加强大的ognl表达式。
5.struts1的类型转换是单向的(页面到ActionForm),struts2是双向的(页面到Action再到页面回显)
6.校验,struts1没有针对具体方法的校验,struts2提供了指定某个方法进行效验,还有框架校验。
7.struts2提供了拦截器,利用拦截器可以在访问Action之前或之后增加如权限拦截等功能。
8.struts2提供了全局范围,包范围,Action范围的国际化资源文件管理实现。
9.struts2支持多种视图类型
Spring:轻量级框架
作用:Bean工厂,用来管理Bean的生命周期和框架集成。
两大核心:
1、IOC/DI(控制反转/依赖注入) :把dao依赖注入到service层,service层反转给action层,Spring顶层容器为BeanFactory。
2、AOP:面向切面编程
Spring下的注解:
注册:@Controller @Service @Component
注入:@Autowired @Resource
请求地址:@RequestMapping
返回具体数据类型而非跳转:@ResponseBody