2019.1.4 SSH框架整合步骤(一)

SSH整合

1.三大框架整合原理

Spring与Struts2整合就是将Action对象交给Spring容器负责创建
Spring与Hibernate整合就是将sessionFactory交给Spring来负责维护。
Spring负责session维护以及aop事务

1231979-20190104213412044-1457634685.png




2.整合步骤

2.1 导包

Hibernate

(1)hibernate/lib/required

(2)hibernate/lib/jpa  Java persist API   Java持久化规范(接口)

(3)数据库驱动包

1231979-20190104214751309-1645559729.png

1231979-20190104214837104-476743923.png

Struts2

(1) struts-2.3.24/apps/struts2-blank/WEB-INF/lib
     注意:javassist-3.11.0.GA.jar包与hibernate重复删除低版本的
     
(2)struts整合插件包
    注意:这个包一旦导入,那么struts2在启动时就会寻找Spring容器,找不到将会抛出异常

1231979-20190104215457457-1218562839.png

1231979-20190104215601762-29052667.png

Spring (比较复杂)

(1)基本:4+2  (expression+core+context+beans+logging+log4j)
(2)整合web:web包   (spring-web)
(3)整合aop:4个   (spring-aop+spring-aspect+aop联盟+aop-weaving)
(4)整合jdbc事务:4个  (spring-jdbc+spring-tx+c3p0+spring-orm)
(5)整合Junint测试:test包   (spring-test)

(6)JSTL 包
  • (1)基本:4+2 (expression+core+context+beans+logging+log4j)
    1231979-20190104220055474-1964827326.png

1231979-20190104220924332-270494581.png

1231979-20190104221001604-384758945.png

  • (2)整合web:web包 (spring-web)
    1231979-20190104221227772-1535648730.png

  • (3)整合aop:4个 (spring-aop+spring-aspect+aop联盟+aop-weaving)
    1231979-20190104221041231-1152648044.png

1231979-20190104221512926-2056303896.png

1231979-20190104221953839-1179256418.png

  • (4)整合jdbc事务:4个 (spring-jdbc+spring-tx+c3p0+spring-orm)
    1231979-20190104222340072-1053530295.png

1231979-20190104221843396-305919584.png

  • (5)整合Junint测试:test包 (spring-test)
  • 1231979-20190104222530016-920494666.png

  • (6)JSTL标签库
    1231979-20190104223548841-2105525125.png




2.2 单独配置Spring容器

  • 创建配置文件aplicationContext.xml,并导入约束 (4个) beans+context+aop+tx
    1231979-20190104225937465-2047772298.png

  • 配置web.xml 配置Spring随项目启动
  导入Spring-web-source 的源码包,后面需要配置一个context-pram :打开ContextLoaderListener 类 接着打开ContextLoaderListener接口  找到一个常量contextConfigLocation

1231979-20190104230114821-748388251.png

1231979-20190104231001224-146199776.png

1231979-20190104231248596-1254438593.png

核心:
    <!-- 让Spring随项目启动而创建的监听器 -->
  <listener>
    <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
  </listener>
  
  <!-- 配置Spring配置文件位置参数 -->
  <context-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>classpath:applicationContext.xml</param-value>
  </context-param>
  • 测试 说明启动成功没有报错控制台
    1231979-20190104231731593-328429384.png



2.3 单独配置struts2

  • 配置struts2的主配置文件
    1231979-20190104232804911-1632288458.png

1231979-20190105010448911-1553940499.png

 <!-- 配置struts2核心过滤器 -->
  <filter>
    <filter-name>struts2</filter-name>
    <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
  </filter>
  <filter-mapping>
    <filter-name>struts2</filter-name>
    <url-pattern>/*</url-pattern>
  </filter-mapping>
  • 测试
    1231979-20190104235237029-89926210.png

1231979-20190104235302995-1732617044.png




2.4 struts2与Spring整合

  • 1.导包 struts2-spring-plugin-2.3.24.jar
    1231979-20190105000112786-433064395.png

  • 2.配置一个常量
    1231979-20190105001739085-1468734223.png

  • 3.整合方案1:struts2自己创建action,Spring负责组装依赖属性
    1231979-20190105011124248-344346753.png

  • 4.测试
    出现这个一般说明配置成功了
    1231979-20190105010616185-1258036241.png

1231979-20190105010339949-1285609777.png

整合方案1 并不推荐使用,理由:最好由Spring完整管理action的生命周期,Spring中功能才应用到action上。



  • 整合方案2:spring 负责创建action以及组装
    1231979-20190105130209495-1639379091.png

1231979-20190105130100638-1731967012.png

1231979-20190105125820646-1933630418.png

1231979-20190105125845449-1117056033.png

  • 测试2
    1231979-20190105125646206-1905967492.png



2.5 单独配置Hibernate

  • 1.编写实体类和ORM元数据
    1231979-20190105134510062-1490716873.png

1231979-20190105134438174-2122861469.png

  • 2.配置主配置文件
    1231979-20190105134709251-157264198.png

1231979-20190105134955380-921674564.png

  • 3.测试
    1231979-20190105135247303-1578720606.png

1231979-20190105133904708-1374125546.png

1231979-20190105140733137-508224882.png


  • 加载配置文件方案1:
    1231979-20190105141602957-210093790.png

1231979-20190105140959962-618032267.png

1231979-20190105140838911-752906158.png

1231979-20190105141653684-1575213970.png


  • 加载配置文件方案2:
    1231979-20190105144034036-1767268287.png

1231979-20190105144219127-1402551109.png

1231979-20190105143937211-223358357.png

1231979-20190105144256153-372352363.png




2.6 Spring整合c3p0连接池

  • 1.配置db.properties
    1231979-20190105150619233-1913360734.png

  • 2.引入连接池到Spring
    1231979-20190105150535485-1754453037.png

  • 3.将连接池注入给SessionFactory
    1231979-20190105151035814-648695061.png

  • 4.测试
    1231979-20190105151116394-105029475.png

1231979-20190105151139929-1989024358.png

1231979-20190105151154143-511481387.png




2.7 Spring整合Hibernate环境操作数据库

  • Dao类和实现类的创建 继承HibernateDaoSupport
    1231979-20190105211125569-1857716642.png

  • hibernate模版的操作
    HQL查询 execute方法
    1231979-20190105211043108-851796950.png

Criteria查询 findByCriteria方法
1231979-20190105211342161-784995613.png

  • Spring中配置Dao 对象
    1231979-20190105211906845-720320890.png

  • 测试 Dao层数据
    1231979-20190105210651635-1730316302.png

1231979-20190105210613027-542727497.png

1231979-20190105212527396-1397499218.png

转载于:https://www.cnblogs.com/qichunlin/p/10223211.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值