struts1 ——1、自动封装form,2、request→action层分发→service层处理业务逻辑→dao层访问数据
hibernate —— dao → sessionFacroty → dataSource → DB
spring ——整合struts1和hibernate的桥梁,配置xml,对于struts,通过DelegatingActionProxy代理struts的action,并通过依赖注入统一为struts实例化service和dao对象;对于hibernate,spring代其承担了通过dataSource连接数据库的工作,并通过内置的LocalSessionFactoryBean类管理并调用sessionFactory(依旧是hibernate中的api),实现查询数据库功能。
org.apache.commons.dbcp.BasicDataSouce —— commons-dbcp-XX.jar commons-pool-XXX.jar 这两个包 必须导入
org.springframework.web.context.ContextLoaderListener ——在web.xml里配置此<listener>,告诉tomcat服务器默认到/WEB-INF/applicationContext.xml找spring的配置文件。如果要改变xml文件的名称和位置,需要在web.xml里配置
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>/XXX/applicationContext_*.xml</param-value>
</context-param>
*是通配符,代表所有以applicationContext_开头的xml文件。
当整合spring和struts1时,也可以不在web.xml里配置<listener>,直接在struts-config.xml里配置
<plug-in className="org.springframework.web.struts.ContextLoaderPlugIn">
<set-property property="contextConfigLocation" value="/XXX/applicationContext.xml" />
</plug-in>
S1SH整合 ——
→ /userAction.do
→ web.xml里将.do映射到ActionServlet,再由<init-param>配置找到struts-config.xml
→ struts-config.xml将request请求的地址映射到spring的DelegatingActionProxy,同时配置封装请求数据的form-beans
→ applicationContext.xml 配置datasource和sessionfactory以连接数据库及执行查询命令,同时以依赖注入的方式,配置action层、service层、dao层,统一生成每层应用调用下一层需要的实例,以及用切面统一管理事务等。