SSH三大框架的搭建整合(struts2+spring+hibernate)(转)
原文地址:http://blog.csdn.net/kyle0349/article/details/51751913 尊重原创,请访问原文地址
SSH说的上是javaweb经典框架,不能说100%要会SSH框架,但是大部分公司都在用,说到框架,都会提到ssh吧,这次就以很简单的注册例子来整合SSH框架。整合框架要注意的是先每个框架单独测通后再整合,不然整合后出现问题比较难排查。
环境:windows + MyEclipse + JDK1.7 + Tomcat7 + MySQL
代码已经测通,如果有报错可能是我某些地方没描述清楚,请留言。
这次整合引入的jar包,( 不是最简的,有的包不一定用得上)
补上jar包下载地址:http://download.csdn.net/detail/kyle0349/9559025
**
Struts2.3
**
1、导入jar包
2、配置web.xml
3、创建js页面
4、创建action类
5、配置struts.xml文件
到这里struts2配置完类,在和整合spring前,先单独测试struts2是否正确运行。然后配置spring以及整合struts2
Spring
1、导入jar包
2、在web.xml添加spring支持(监听器)
3、在src目录下添加applicationContext.xml文件 管理Action对象的创建
将action的创建交给spring管理,
spring 默认scope 是单例模式,这样只会创建一个Action对象,
而Action要求每次访问都要创建新的Action ,scope=”prototype”就可以保证每次有新的访问都会创建新的action。保证每一个请求有一个单独的Action来处理,避免struts中Action的线程安全问题。
4、修改struts.xml中action引用的类地址,改为在spring中创建action对象的id,这样才真正是把action对象交给spring创建。
和struts2配置的第5步比较
hibernate
1、导入jar包
2、创建实体类
…
get/set方法
…
3、映射文件User.hbm.xml 在同一个包下创建映射文件,命名格式entity.hbm.xml
配置信息
4、创建dao层、service层(基本的增删改查用于测试)
PS. 说明:Dao实现类继承了hibernateDaoSupport后可以直接获取session,不需要sessionFactory。
5、action层中在前面配置struts2的基础上,增加业务代码(增删改查)
对于userService的获取有两种方式:
get/set方式
注解方式
6、在applicationContext.xml配置文件配置整合信息
A、(如果使用类注解方式,则需要开启注解扫描)
B、创建Action对象,userService对象,userDao对象
Ps.我这里userDao是get/set方式,Action,userService是注解方式
C、数据库连接(整合spring-hibernate,我是原来的hibernate配置文件写到spring中)
不需要再数据库建表,只要保证有对应的数据库即可,
Ps.数据库的连接信息没有写死到代码中,而是用db.properties配置再倒入,好处是随时更换数据库
db.properties数据
这里hibernate其实已经配好而且整合到spring里面去了,没有单独测试,直接用网页测试。
PS.如果整合顺序是hibernate – spring – struts2 会不会合理些?
SSH三大框架的搭建整合(struts2+spring+hibernate)(转)的更多相关文章
- SSH三大框架的搭建整合(struts2+spring+hibernate)
本文转载自:https://blog.csdn.net/kyle0349/article/details/51751913
- eclipse中SSH三大框架环境搭建<三>
相关链接: eclipse中SSH三大框架环境搭建<一> eclipse中SSH三大框架环境搭建<二> 引言:通过上两篇文章我们已经可以掌握struts2和spring的环境的 ...
- eclipse中SSH三大框架环境搭建<二>
通过上一篇博客我们可以轻松搭建strtus2的环境,接下来由我来继续介绍spring的环境搭建以及spring注入的简单使用 相关链接:eclipse中SSH三大k框架环境搭建<一> ec ...
- eclipse中SSH三大框架环境搭建<一>
这里先简单介绍一下我用的三大框架版本以及下载地址 相关链接:eclipse中SSH三大框架环境搭建<二> eclipse中SSH三大框架环境搭建<三> struts-2.3.3 ...
- 整合struts2+spring+hibernate
一.准备struts2+spring+hibernate所须要的jar包: 新建web项目并将jar包引入到project项目中. 二.搭建struts2环境 a.在 ...
- SSH三大框架的基本整合以及常见错误的解决方法
一.新建项目 eclipse->file->new->other->Dynamic Web Project,project name为sshDemo 二.下载jar包 1.st ...
- SSH之IDEA2017整合Struts2+Spring+Hibernate
转自:https://blog.csdn.net/sysushui/article/details/68937005
- Spring、Struts2+Spring+Hibernate整合步骤
所使用的Jar包: Hibernate: Spring(使用MyEclipse自动导入框架功能) Struts2: 注解包和MySql驱动包: 1.配置Hibernate和Spring: <be ...
- SSH---整合Struts2&Spring&Hibernate(实例)
一.SSH回顾 Struts2:核心为过滤器+拦截器.过程:Filter--->FilterDispatcher-->ActionMapper-->ActionProxy--> ...
随机推荐
- Hadoop环境搭建2_hadoop安装和运行环境
1 运行模式: 单机模式(standalone): 单机模式是Hadoop的默认模式.当首次解压Hadoop的源码包时,Hadoop无法了解硬件安装环境,便保守地选择了最小配置.在这种默认模式下所有 ...
- vue实践---vue动态加载组件
开发中遇到要加载10个或者更多的,类型相同的组件时,如果用普通的 import 引入组件,components注册组件,代码显得太啰嗦了,这时候就需要用到 require.context 动态加载这些 ...
- <button>标签也能提交表单问题
如何避免<button>标签也能提交表单的问题: 只需加上一个属性:type='button'即可:如<button type="button"> < ...
- 【BZOJ3488】[ONTAK2010]Highways 扫描线+树状数组
[BZOJ3488][ONTAK2010]Highways Description 给一棵n个点的树以及m条额外的双向边q次询问,统计满足以下条件的u到v的路径:恰经过一条额外的边不经过树上u到v的路 ...
- Netty实现java多线程Post请求解析(Map参数类型)—SKY
netty解析Post的键值对 解析时必须加上一个方法,ch.pipeline().addLast(new HttpObjectAggregator(2048)); 放在自己的Handel前面. ht ...
- web 文件下载
response.reset(); response.setContentType("octets/stream"); response.addHeader("Conte ...
- nginx + uWSGI 为 django 提供高并发
django 的并发能力真的是令人担忧,这里就使用 nginx + uwsgi 提供高并发 nginx 的并发能力超高,单台并发能力过万(这个也不是绝对),在纯静态的 web 服务中更是突出其优越的地 ...
- BZOJ1791: [Ioi2008]Island 岛屿
BZOJ1791: [Ioi2008]Island 岛屿 Description 你将要游览一个有N个岛屿的公园. 从每一个岛i出发,只建造一座桥. 桥的长度以Li表示. 公园内总共有N座桥. 尽管每 ...
- 我的Java开发学习之旅------>Java 格式化类(java.util.Formatter)基本用法
本文参考: http://docs.oracle.com/javase/1.5.0/docs/api/java/util/Formatter.html http://www.blogjava.net/ ...
- IDEA报错: Invalid bound statement (not found): com.test.mapper.UserMapper.selectByPrimaryKey(转发:https://www.cnblogs.com/woshimrf/p/5138726.html)
学习mybatis的过程中,测试mapper自动代理的时候一直出错,在eclipse中可以正常运行,而同样的代码在idea中却无法成功.虽然可以继续调试,但心里总是纠结原因.百度了好久,终于找到一个合 ...