常规思路:
思路1:
jsp通过action传值给struts,struts去寻找该action的类和方法,action类中已经定义好了属性(类中的属性名字一定和html标签中的name属性一致),然后通过dao访问数据库,返回数据库值,然后传回给action,返回指定jsp,然后后台的值通过EL,struts标签显示在前台。
Spring+Struts+Hiberate之间的逻辑关系
1)struts 负责 web 层 .
ActionFormBean 接收网页中表单提交的数据,然后通过 Action 进行处理,再 Forward 到对应的网页。
在 struts-config.xml 中定义 , ActionServlet 会加载。
2) spring 负责业务层管理,即 Service (或 Manager).
-
service 为 action 提供统计的调用接口,封装持久层的 DAO.
-
可以写一些自己的业务方法。
-
统一的 javabean 管理方法
-
声明式事务管理
-
集成 Hiberante
3) Hiberante ,负责持久化层,完成数据库的 crud 操作
hibernate 为持久层,提供 OR/Mapping 。
它有一组 .hbm.xml 文件和 POJO, 是跟数据库中的表相对应的。然后定义 DAO ,这些是跟数据库打交道的类,它们会使用 PO 。
在 struts+spring+hibernate 的系统中,
对象的调用流程是: jsp-> Action - > Service ->DAO ->Hibernate 。
数据的流向是 ActionFormBean 接受用户的数据, Action 将数据从 ActionFromBean 中取出,封装成 VO 或 PO,
再调用业务层的 Bean 类,完成各种业务处理后再 forward 。而业务层 Bean 收到这个 PO 对象之后,会调用 DAO 接口方法,进行持久化操作。