最开始学习的三层结构和后来学习的struts实现的MVC有什么区别呀?

来源:百度知道 编辑:UC知道 时间:2024/06/14 04:15:16
在最开始时,我们学习了三层模式进行编程,可是后来又学习了SSH 也就是SPRING STRUTS 和HIBERNATE 他们也是要实现三层的 可是有什么区别么》

1.先说Struts.
Struts是基于Servlet的MVC框架.着重于Web层的请求控制,转发.其中Struts1.x与Servlet藕合比较严重.甚至在Action中可以直接使用request. 而Struts2.x是在WebWork基础之上的于之前1.X版本有了较大改变的一个MVC框架.它是插件式的可插把的,因此比老版本要更灵活一些.同样,它也是着重与Web层的请求控制和分发.

2.Hibernate/iBatis
应用于数据库的一个交互.Hibernate在应用与数据库之间架起了一个桥梁.使之通过对象的方式访问,操纵数据库,这就省去了直接使用JDBC硬编码带来的伤害.

3.Spring
IoC 依赖注入/控制反转.使用Spring进一步降低了应用中不同层面的藕合度.通过Spring而不是通过程序来管理JavaBean的生命周期.使得每个层可以把关注点集中在自己的内部.而相关的注入则是由Spring来完成的.
AOP 面向切面的编程.这是一种动态的编程.是在一个事件发之前,或者之后,或者发生前后需要执行的另一种程序代码的机制.Spring提供了AOP的实现.如此而已.

开始的三层除了jsp外都要自己写代码,开发效率太低了,SSH三个框架中,Struts用来做页面,Hibernate用来做模型层,Spring用来做控制层,Struts中封装了许多标签和Action,Hibernate中封装了操作数据库的方法,Spring用来集成Struts和Hibernate。Spring中地AOP和IOC是重点。AOP把一些公共的方法,写在一块,可以动态的注入到方法中,不用每次都在方法中开事务,写日志等。IOC用来动态的注入一些java对象,用来组合java类

mvc 是基础架构,就是现在编码的一种规范吧,他把模型,视图,控制 三层分开来处理,这样每块都是独立的,修改一块不影响其他的,而SSH三个框架就是以他为基础,又丰富了其里面的东西,还有使代码更清晰