SSH整合

1.三大框架整合原理

Spring与Struts2整合就是将Action对象交给Spring容器负责创建

Spring与Hibernate整合就是将sessionFactory交给Spring来负责维护。

Spring负责session维护以及aop事务




2.整合步骤

2.1 导包

Hibernate

(1)hibernate/lib/required

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

(3)数据库驱动包

Struts2

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

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)

  • (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标签库




2.2 单独配置Spring容器

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

  • 配置web.xml 配置Spring随项目启动

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

核心:
<!-- 让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>
  • 测试 说明启动成功没有报错控制台




2.3 单独配置struts2

  • 配置struts2的主配置文件

 <!-- 配置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>
  • 测试




2.4 struts2与Spring整合

  • 1.导包 struts2-spring-plugin-2.3.24.jar

  • 2.配置一个常量

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

  • 4.测试

    出现这个一般说明配置成功了

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



  • 整合方案2:spring 负责创建action以及组装

  • 测试2




2.5 单独配置Hibernate

  • 1.编写实体类和ORM元数据

  • 2.配置主配置文件

  • 3.测试


  • 加载配置文件方案1:


  • 加载配置文件方案2:




2.6 Spring整合c3p0连接池

  • 1.配置db.properties

  • 2.引入连接池到Spring

  • 3.将连接池注入给SessionFactory

  • 4.测试




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

  • Dao类和实现类的创建 继承HibernateDaoSupport

  • hibernate模版的操作

    HQL查询 execute方法

Criteria查询 findByCriteria方法

  • Spring中配置Dao 对象

  • 测试 Dao层数据

2019.1.4 SSH框架整合步骤(一)的更多相关文章

  1. ssh框架整合之登录以及增删改查

    1.首先阐述一下我用得开发工具,myeclipse2017+oracle,所以我的基本配置步骤可能不一样,下面我用几张图来详解我的开发步骤. ---1先配置structs (Target 选择apac ...

  2. SSH框架搭建步骤总结以及Hibernate二级缓存,查询缓存

    二级缓存.查询缓存 一级缓存: 默认启动,生命周期是和session同步的,session独享 二级缓存: 需要加载配置信息,生命周期是和应用服务器同步,session共享 1:在hibernate. ...

  3. SSH框架整合

    SSH框架整合 一.原理图 action:(struts2) 1.获取表单的数据 2.表单的验证,例如非空验证,email验证等 3.调用service,并把数据传递给service Service: ...

  4. dwr与ssh框架整合教程

    (1)dwr与ssh框架整合教程dwr框架介绍. DWR(Direct Web Remoting)是一个用于改善web页面与Java类交互的远程服务器端Ajax开源框架,可以帮助开 发人员开发包含AJ ...

  5. Spring+Hibernate+Struts(SSH)框架整合

    SSH框架整合 前言:有人说,现在还是流行主流框架,SSM都出来很久了,更不要说SSH.我不以为然.现在许多公司所用的老项目还是ssh,如果改成流行框架,需要成本.比如金融IT这一块,数据库dao层还 ...

  6. J2EE进阶(十)SSH框架整合常见问题汇总(一)

    SSH框架整合常见问题汇总(一) 前言 以下所列问题具有针对性,但是遇到同类型问题时均可按照此思路进行解决. HTTP Status 404 - No result defined for actio ...

  7. MVC+Spring.NET+NHibernate .NET SSH框架整合 C# 委托异步 和 async /await 两种实现的异步 如何消除点击按钮时周围出现的白线? Linq中 AsQueryable(), AsEnumerable()和ToList()的区别和用法

    MVC+Spring.NET+NHibernate .NET SSH框架整合   在JAVA中,SSH框架可谓是无人不晓,就和.NET中的MVC框架一样普及.作为一个初学者,可以感受到.NET出了MV ...

  8. SSH框架整合的其它方式

    --------------------siwuxie095 SSH 框架整合的其它方式 1.主要是整合 Spring 框架和 Hibernate 框架时,可以不写 Hibernate 核心配置文件: ...

  9. SSH框架整合过程总结

    ---------------------siwuxie095                                 SSH 框架整合过程总结         (一)导入相关 jar 包(共 ...

随机推荐

  1. Winform DataGridView列的单元格中动态添加图片和文字

    先上图在说,第二列中图片和文字的样式 1.需要重写DataGridViewTextBoxColumn,新建类TextAndImageColumn.cs using System; using Syst ...

  2. [android] socket在手机上的应用

    1.手机助手 1.1 USB链接 可以读取手机的PID和VID,确定唯一的设备,可以给手机安装对应的驱动等 socket在固定端口通信 1.2 WIFI链接 pc在电脑在整个网段发送UDP数据包,手机 ...

  3. docker 安装ElasticSearch head

    github官网地址 https://github.com/mobz/elasticsearch-head 拉取镜像 docker pull mobz/elasticsearch-head:5 创建容 ...

  4. ajax上传数据

    ---恢复内容开始--- ajax上传数据,(简洁版) 1.上传普通同表单标签内容. 1.获取表单的内容 1. var file=$('#file').val();(放在点击事件后面) 2. var ...

  5. json_decode($json, true) true什么意思

    <?php $json = '{"a":1,"b":2,"c":3,"d":4,"e":5}' ...

  6. thinkphp传送文章id值

  7. HTML5学习笔记之canvas

    标签 canvas标签有一个默认宽高:300*150: canvas的宽高一般写到行间样式中,写在style会有问题详细请看这里: 绘制环境 要绘图先要获取到绘制环境: var oC = docume ...

  8. VS.Net开发必备,让您的代码自动收缩,如何实现!

    一年前,不知在哪里看到这个开发辅助插件,就装上了,之后一直不知不觉得用着,有一天重装了系统,这插件不见了,再也记不起他的名字, 在网上搜索"自动收缩代码","VS开发必备 ...

  9. 在URL里传入数组到HTML 里。

    需求 静态页面根据URL输入,动态显示图表满足如下两个条件. 1. 隐藏指定的行 2. 设定初始显示的Check box 需要的部分被打勾 实现 1. 创建一个静态的页面, <table id= ...

  10. idea引入依赖包报错

    今天在更新项目的时候,maven依赖的一个服务一直报错.查了后发现原来是因为缺少依赖包.但是依赖包明明在我本地啊. 又重新下载,依然如故... 搞了半天,发现自己的依赖包类状态都是不可用的.如下图所示 ...