2019.1.4 SSH框架整合步骤(一)
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框架整合步骤(一)的更多相关文章
- ssh框架整合之登录以及增删改查
1.首先阐述一下我用得开发工具,myeclipse2017+oracle,所以我的基本配置步骤可能不一样,下面我用几张图来详解我的开发步骤. ---1先配置structs (Target 选择apac ...
- SSH框架搭建步骤总结以及Hibernate二级缓存,查询缓存
二级缓存.查询缓存 一级缓存: 默认启动,生命周期是和session同步的,session独享 二级缓存: 需要加载配置信息,生命周期是和应用服务器同步,session共享 1:在hibernate. ...
- SSH框架整合
SSH框架整合 一.原理图 action:(struts2) 1.获取表单的数据 2.表单的验证,例如非空验证,email验证等 3.调用service,并把数据传递给service Service: ...
- dwr与ssh框架整合教程
(1)dwr与ssh框架整合教程dwr框架介绍. DWR(Direct Web Remoting)是一个用于改善web页面与Java类交互的远程服务器端Ajax开源框架,可以帮助开 发人员开发包含AJ ...
- Spring+Hibernate+Struts(SSH)框架整合
SSH框架整合 前言:有人说,现在还是流行主流框架,SSM都出来很久了,更不要说SSH.我不以为然.现在许多公司所用的老项目还是ssh,如果改成流行框架,需要成本.比如金融IT这一块,数据库dao层还 ...
- J2EE进阶(十)SSH框架整合常见问题汇总(一)
SSH框架整合常见问题汇总(一) 前言 以下所列问题具有针对性,但是遇到同类型问题时均可按照此思路进行解决. HTTP Status 404 - No result defined for actio ...
- 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 ...
- SSH框架整合的其它方式
--------------------siwuxie095 SSH 框架整合的其它方式 1.主要是整合 Spring 框架和 Hibernate 框架时,可以不写 Hibernate 核心配置文件: ...
- SSH框架整合过程总结
---------------------siwuxie095 SSH 框架整合过程总结 (一)导入相关 jar 包(共 ...
随机推荐
- 快速清除SQL2008日志文件
USE [master] --把数据库调整为简单模式 GO ALTER DATABASE krisvision SET RECOVERY SIMPLE WITH NO_WAIT GO ALTER DA ...
- linux免密登录ssh验证配置方法及常见错误解决
目标:从服务器A免密登录服务器B [配置方法] 1.在服务器A生成密钥文件,直接使用以下命令: ssh-keygen 中间遇到输入内容一路回车即可,完成后会在 ~/.ssh 目录下生成两个文件:id_ ...
- 2017年12月17日 ASP.NET 12个表单元素&&简单控件/复合控件
12个表单元素可以分为三大类 第一类:文本类 <input type = "text" /> //普通文本框 <input type = "passwo ...
- MySql 双实例安装
1.官网下载压缩包 https://dev.mysql.com/downloads/mysql/ 2.解压到D盘 3.修改my.ini 文件 [mysql] # 设置mysql客户端默认字符集 def ...
- 通过winmm.dll控制声音播放
介绍如何通过winmm.dll播放声音 首先导入两个函数 /// <summary> /// 向媒体控制接口发送控制命令 /// </summary> /// <para ...
- final 、finalize和finally的区别
2019-04-1217:29:40 (1)final用于声明属性,方法和类,分别表示属性不可变,方法不可覆盖,类不可继承.内部类要访问局部变量,局部变量必须定义成final类型,比如一段代码 (2) ...
- No.5一步步学习vuejs之事件监听和组件
一监听事件 可以用 v-on 指令监听 DOM 事件,并在触发时运行一些 JavaScript 代码. <div id="demo1"> <button v-on ...
- Spring系列之Alias标签的解析与使用
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.sp ...
- python文件修改 核心5步,函数实现修改任意文件内容
文件修改 核心5步1.以读的模式打开原文件,产生句柄f12.以写的模式打开一个新文件,产生句柄f23.读取原文件的内容并将原文件需要替换的内容修改写入到新文件4.删除原文件5.把新文件重名了成原文件 ...
- 使用模块化工具打包自己开发的JS库(webpack/rollup)对比总结
打包JS库demo项目地址:https://github.com/BothEyes1993/bes-jstools 背景 最近有个需求,需要为小程序写一个SDK,监控小程序的后台接口调用和页面报错(类 ...