近段在用JAVA开发一套新OA,新OA使用SSH架构(Struts+Spring+Hibernate),Struts是一个很好的MVC框架,主要技术是Servlet和Jsp;Spring提供了管理业务对象的一致方法,并鼓励注入对接口编程而不是对类编程的良好习惯;Hibernate对JDBC进行了非常轻量级的封装,它使得与关系型数据库打交道变得非常轻松。以下是SSH架构图:
l Struts负责Web层:
ActionFormBean接收网页中表单提交的数据,然后通过Action进行处理,再Forward到对应的网页,在Struts-config.xml中定义了<action-mapping>,ActionServlet会加载进来。
l Spring负责业务层管理,即Service
Service为Action提供统一的调用接口,封装持久层的DAO,并集成Hibernate,Spring可对JavaBean和事物进行统一管理。
l Hibernate负责持久层,完成数据库的CRUD操作。
Hibernate有一组hbm.xml文件和PO,是与数据库中的表相对应的,然后定义DAO,这些是与数据库打交道的类。
在Struts+Spring+Hibernate系统中,对象之间的调用流程如下:
Struts——>Spring——>Hibernate
JSP——>Action——>Service——>DAO——>Hibernate