ssh是企业开发中常遇到的框架组合,现将框架的搭建过程记录下来,以便以后查看。
我的搭建过程是,首先struts,然后spring,最后hibernate。
struts2的最新版本为2.3.8,我下载的是完整包,包含示例和所有jar包,下载地址为:http://struts.apache.org/
spring的最新版本为3.2.1,下载地址为:http://www.springsource.org/download/community
hibernate的最新版本为4.1.9,下载地址为:http://www.hibernate.org/downloads

struts2

1.jar包准备

打开下载的zip包,apps目录下,解压struts2-blank.war,struts2-blank.war是一个空的项目,我们可以把这个项目的所有jar包导入到当前的项目中。
在lib目录下,找到struts2-spring-plugin-2.3.8.jar包,放入项目中,集成spring的时候用到。

2.配置文件准备

同上,把struts2-blank.war中的struts.xml放入当前项目中,适当的去掉用不到的配置,如include标签。这样,struts2的准备工作就做完了。

web.xml配置

打开web.xml,配置struts2的过滤器,所有的请求都交给struts2去处理,配置如下:

1
2
3
4
5
6
7
8
9
<!-- 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>

spring3.2

1.jar包准备

jar包不止以下列出的这些,在大家过程中,根据提示,再加载缺少的jar包
spring-aop-3.2.1.RELEASE.jar、spring-beans-3.2.1.RELEASE.jar、spring-context-3.2.1.RELEASE.jar、spring-core-3.2.1.RELEASE.jar
spring-expression-3.2.1.RELEASE.jar、spring-orm-3.2.1.RELEASE.jar、spring-tx-3.2.1.RELEASE.jar、spring-web-3.2.1.RELEASE.jar

2.配置文件准备

spring需要的配置文件默认为:WEB-INF下的applicationContext.xml文件,可是,我想在官网找3.2.1版本对应的applicationContext.xml这个文件,没找到,后来无奈只能从以前的项目中拷贝,并修改,修改的时候请注意,applicationContext.xml文件中beans节点的属性改成对应spring的版本号,并检查xsd文件是否存在。

3.web.xml配置

配置spring的监听,配置方式如下:

1
2
3
4
5
6
7
<context-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>classpath:applicationContext*.xml</param-value>
</context-param>
<listener>
    <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>

applicationContext.xml文件默认在WEB-INF下,通过指定context-param可以改变applicationContext.xml的存放位置。

hibernate

1.jar包准备

打开下载的hibernate文件包,拷贝lib\required 目录下的所有jar至WEB-INF/lib下,在以后运行中,如缺少包,再根据提示找相应的jar包。

2.配置文件准备

hibernate的核心配置文件为hibernate.cfg.xml,用来配置数据库连接信息,方言,对应实体的配置文件等。
hibernate.cfg.xml文件的全部信息也可以配置到applicationContext.xml文件中。

3.配置使用spring来管理sessionFactory。

这个配置需要在applicationContext.xml中来配置

1
2
3
4
5
6
7
<!-- 配置sessionFactory -->
<bean id="sessionFactory" class="org.springframework.orm.hibernate4.LocalSessionFactoryBean">
    <!-- 指定数据源 -->
    <property name="dataSource" ref="dataSource"/>
    <!--指定Hibernate核心配置文件-->
    <property name="configLocation" value="classpath:hibernate.cfg.xml"/>
</bean>

struts2 spring3.2 hibernate4.1 框架搭建 整合的更多相关文章

  1. Struts2.3+Spring3.2+Hibernate4.2框架搭建

    一.环境 SSH使用的版本:struts2.3.14.spring3.2.2.hibernate4.2.0 数据库:MYSQL tomcat版本:apache-tomcat-7.0.42 二.所需要导 ...

  2. 基于全注解的SpringMVC+Spring4.2+hibernate4.3框架搭建

    概述 从0到1教你搭建spring+springMVC+hibernate整合框架,基于注解. 本教程框架为基于全注解的SpringMVC+Spring4.2+hibernate4.3,开发工具为my ...

  3. struts2+hibernate+spring注解版框架搭建以及简单测试(方便脑补)

    为了之后学习的日子里加深对框架的理解和使用,这里将搭建步奏简单写一下,目的主要是方便以后自己回来脑补: 1:File--->New--->Other--->Maven--->M ...

  4. struts2+hibernate+spring配置版框架搭建以及简单测试(方便脑补)

    为了之后学习的日子里加深对框架的理解和使用,这里将搭建步奏简单写一下,目的主要是方便以后自己回来脑补: 1:File--->New--->Other--->Maven--->M ...

  5. ssm框架搭建整合测试

    下载各种jar包 mybatis下载 https://github.com/mybatis/mybatis-3/releases mysql驱动下载 http://mvnrepository.com/ ...

  6. 【Struts2+Spring3+Hibernate3】SSH框架整合实现CRUD_1.2

    作者: hzboy192@192.com Blog: http://my.csdn.net/peng_hao1988 版本总览:http://blog.csdn.net/peng_hao1988/ar ...

  7. 【Struts2+Spring3+Hibernate3】SSH框架整合实现CRUD_1.3

    作者: hzboy192@192.com Blog: http://my.csdn.net/peng_hao1988 版本总览:http://blog.csdn.net/peng_hao1988/ar ...

  8. 使用Maven搭建Struts2+Spring3+Hibernate4的整合开发环境

    做了三年多的JavaEE开发了,在平时的JavaEE开发中,为了能够用最快的速度开发项目,一般都会选择使用Struts2,SpringMVC,Spring,Hibernate,MyBatis这些开源框 ...

  9. Maven搭建Struts2+Spring3+Hibernate4框架

    做了三年多的JavaEE开发了,在平时的JavaEE开发中,为了能够用最快的速度开发项目,一般都会选择使用Struts2,SpringMVC,Spring,Hibernate,MyBatis这些开源框 ...

随机推荐

  1. Appium学习实践(二)Python简单脚本以及元素的属性设置

    1.简单的Python脚本 Appium中的设置与Appium学习实践(一)简易运行Appium中的一致 Launch后,执行脚本 #coding:utf-8 import unittest impo ...

  2. 【原创Android游戏】--猜数字游戏Version 0.1

    想当年高中时经常和小伙伴在纸上或者黑板上或者学习机上玩猜数字的游戏,在当年那个手机等娱乐设备在我们那还不是很普遍的时候是很好的一个消遣的游戏,去年的时候便写了一个Android版的猜数字游戏,只是当时 ...

  3. vector3.forward和transform.forward的区别!

    http://blog.163.com/bowen_tong/blog/static/20681717420146654927791/ vector3.forward和transform.forwar ...

  4. 在ios android设备上使用 Protobuf (使用dll方式)

    http://game.ceeger.com/forum/read.php?tid=13479 如果你的工程可以以.Net 2.0 subset模式运行,请看这个帖子中的方法. 地址:http://g ...

  5. git的两本推荐书

    1. pro git, 可以网页直接看 http://iissnan.com/progit/?spm=5176.100239.blogcont5843.18.nUJDcK 2. Git权威指南 < ...

  6. JS中NULL和Undefined的区别

    NULL是表示一个”无“的对象,转换成数值为0:undefined是一个“无”的原始值,转为数值为NaN: 当声明的变量还未被初始化时,变量的默认值为undefined: null用来表示尚未存在的对 ...

  7. Memcached和Memcache安装(64位win7)

    一.Memcached和Memcache的区别: 网上关于Memcached和Memcache的区别的理解众说纷纭,我个人的理解是: Memcached是一个内存缓存系统,而Memcache是php的 ...

  8. 假设检验:p-value,FDR,q-value

    来源:http://blog.sina.com.cn/s/blog_6b1c9ed50101l02a.html,http://wenku.baidu.com/link?url=3mRTbARl0uPH ...

  9. python 播放 wav 文件

    未使用其他库, 只是使用 pywin32 调用系统底层 API 播放 wav 文件. # Our raison d'etre - playing sounds import pywintypes im ...

  10. lecture10-模型的结合与全贝叶斯学习

    这是Hinton的第10课 这节课有两篇论文可以作为背景或者课外读物<Adaptive mixtures of local experts>和<Improving neural ne ...