Struts
是一个很好的MVC框架,主要技术是Servlet和Jsp。Struts的MVC设计模式可以使我们的逻辑变得很清晰,让我们写的程序层次分明。
官方地址:http://struts.apache.orgSpring
提供了管理业务对象的一致方法,并鼓励注入对接口编程而不是对类编程的良好习惯,使我们的产品在最大程度上解耦。
官方地址:spring: http://www.springsource.orgHibernate
是用来持久化数据的,提供了完全面向对象的数据库操作。Hibernate对JDBC进行了非常轻量级的封装,它使得与关系型数据库打交道变得非常轻松。
官方地址:http://www.hibernate.org
SSH架构图:
- Struts负责Web层
ActionFormBean接收网页中表单提交的数据,然后通过Action进行处理,再Forward到对应的网页,在Struts-config.xml中定义了<action-mapping>,ActionServlet会加载进来。
Spring负责业务层管理,即Service
Service为Action提供统一的调用接口,封装持久层的DAO,并集成Hibernate,Spring可对JavaBean和事物进行统一管理。Hibernate负责持久层,完成数据库的CRUD操作
Hibernate有一组hbm.xml文件和PO,是与数据库中的表相对应的,然后定义DAO,这些是与数据库打交道的类。
在Struts+Spring+Hibernate系统中,对象之间的调用流程如下:
- Struts —> Spring —> Hibernate
- JSP —> Action —> Service —> DAO —> Hibernate