在上篇博客里,我简介了Tomcat滴配置与Struts2滴搭建,假设对这个还不会滴童鞋去看一下我滴上篇博客《Java之基于Eclipse搭建SSH框架(上)》。今天我们接着上篇博客滴内容。继续搭建我们滴SSH框架。

(一)在上篇博客滴基础上整合Spring:

首先我们把Spring所须要的jar(上篇博客有),拷贝到WebContent下的WEB-INF下的lib里面。

其次在src下创建名为:applicationContext.xml文件。(有些人提示在WEB-INF下创建)个人建议在src下创建

Spring配置文件有两种格式:DTD格式。Schema格式。

基于DTD格式的配置文件格式例如以下:

<?xml version="1.0" encoding="UTF-8"?

>
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd">
<beans>
<!-- Service配置 -->
<bean id="loginService" class="com.hy.service.impl.LoginServiceImpl" />
</beans>

Schema格式的配置文件拥有自己的命名空间。格式例如以下:

<?xml version="1.0" encoding="UTF-8"?

>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:aop="http://www.springframework.org/schema/aop"
xmlns:context="http://www.springframework.org/schema/context" xmlns:tx="http://www.springframework.org/schema/tx"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.5.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-2.5.xsd
http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.5.xsd">
<!-- Service配置 -->
<bean id="loginService" class="com.hy.service.impl.LoginServiceImpl" />
</beans>

这里我用的是另外一种配置方式。applicationContext.xml内容为:

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd">
<!-- Service配置 -->
<bean id="loginService" class="com.hy.service.impl.LoginServiceImpl" />
<!-- Action配置 -->
<bean id="loginServer" class="com.hy.action.LoginAction" scope="prototype">
<property name="loginService" ref="loginService"></property>
</bean>
</beans>

在struts里面这样配置就能够了:

    <package name="struts2" extends="struts-default">
<!-- 此处的class的内容要与Spring配置文件里的bean的id同样 -->
<action name="Login" class="loginServer">
<result name="success">/result.jsp</result>
<result name="input">/login.jsp</result>
</action>
</package>

这里要注意的是在struts.xml文件里面的action配置中。class=”“与我们上篇博客讲的Struts搭建不一样了。这里的class内容与applicationContext.xml里面的Action配置bean的id是同样的!

。!

其次在web.xml我们须要在加入以下这些代码:

    <!-- 用来定位Spring框架配置文件 -->
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/applicationContext*.xml,classpath*:applicationContext*.xml</param-value>
</context-param>
<!-- 配置Spring监听 -->
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>

这样集成Spring所要配置的文件算是结束了,另一点要强调整合Struts与Spring须要一个jar(struts2-spring-plugin-2.3.8.jar)。这个jar我放到了struts2所需jar里面了,加入了这个jar才算把Struts与Spring整合在一起了。

在集成Hibernate前,说一下关于Spring XML文件上下文配置问题。

applicationContext.xml事实上这个文件能够保存到classpath或者WEB-INF文件下。随着项目增大,Spring的配置文件也会变得庞大,能够依据已定的原则分为几个配置文件。从而使配置更加清晰。提高可维护性。上面代码中的写法是查找classpath和WEB-INF文件下全部的配置文件(好多人都说了当中一种。假设写的查找和文件保存位置不一样。就会报错哦~)。

測试一下,整合情况,效果图例如以下:



莫急哈~~demo我会在以下给大家,请大家看清里面的网址,由于这个demo里面也包含最后SSH的搭建測试。

(二)集成Hibernate

首先还是把Hibernate所须要的jar(上篇博客有)。拷贝到WebContent下的WEB-INF下的lib里面。然后在applicationContext.xml中加入以下的配置:

    <!-- 配置数据源 -->
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"
destroy-method="close">
<!-- 指定连接数据库的驱动 -->
<property name="driverClassName" value="com.mysql.jdbc.Driver" />
<!-- 指定连接数据库的URL -->
<property name="url" value="jdbc:mysql://localhost:3306/test" />
<!-- 指定连接数据库的用户名 -->
<property name="username" value="root" />
<!-- 指定连接数据库的密码 -->
<property name="password" value="" />
</bean>
<!-- 配置SessionFactory -->
<bean id="sessionFactory"
class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="dataSource">
<ref bean="dataSource" />
</property>
<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">
org.hibernate.dialect.MySQLDialect
</prop>
<prop key="hibernate.hbm2ddl.auto">update</prop>
<prop key="hibernate.connection.autocommit">true </prop>
<prop key="hibernate.show_sql">true</prop>
<prop key="sql_format">true</prop>
</props>
</property>
<property name="mappingResources">
<!-- 指定hibernate映射文件 -->
<list>
<value>com/hy/entity/User.hbm.xml</value>
</list>
</property>
</bean>

到这里框架就算搭建完成了。

有人会有疑惑。不是要创建hibernate.cfg.xml或者hibernate.properties配置嘛。事实上在上面的配置文件里,你是不是发现有一个bean中的文件特别像这两个文件里的内容嘛。事实上这样就能够了,不用再创建那两个文件了。

在此说明一下假设你的数据库是MySQL配置依照上面那种方式配置,别忘了加入相应的jar(有人告诉我:jar包也要与自己的数据版本号相应,否则连不上)。假设你的数据库是Oracle,配置依照以下图中进行配置。



最后在说一下Hibernate映射文件(类与表之间的关系映射)

<hibernate-mapping>
<class name="类名" table="表名">
<!-- 主键 -->
<id name="主键名">
<column name="主键列" />
<!-- 主键生成器 -->
<generator class="生成策略" />
</id>
<property name="属性名" type="数据类型">
<column name="列名" length="长度" not-null="是否不为空" />
</property>
</class>
</hibernate-mapping>

測试一下,效果图:

搭建SSH到这里就结束啦。如有疑问。请给我留言~~

最近有小伙伴反映。看了偶滴博客然后跟着做还是报错,总结了他们的错误这里我简单说明一下:

1.假设亲还没有配置Spring,就不要把(struts2-spring-plugin-2.3.8.jar)。这个jar包提前导入到项目里(这是我滴错。把这个jar包放到struts所需的包包里面了)。假设按我的博客验证struts时出错。那就把这个包删除就可以。(整合Spring别忘了导入哦~)

2.就是配置问题:(上图,有图有真相~)



配置文件和代码里面的名字要相应,不然就出错哦~

3.就是我们的框架用到Hibernate,童鞋们都知道写映射表,可是别忘了配置文件里指定。

最后附上:

demo地址

Java之基于Eclipse搭建SSH框架(下)的更多相关文章

  1. Java之基于Eclipse搭建SSH框架(上)

    http://blog.csdn.net/snowwitch/article/details/50925382 http://www.cnblogs.com/hww123/archive/2016/0 ...

  2. Eclipse搭建SSH框架(Struts2+Spring+Hibernate)

    见识少的我经过一天多的研究才知道,在MyEclipse中搭好的框架的配置文件和jar包是通用的.接下来——亮剑! 工具:Eclipse+Tomcat+Mysql 一.先在Eclipse中配置好Tomc ...

  3. 用Eclipse搭建ssh框架

    问:ssh是哪三大框架,以及他们的作用是什么? 答:分别是struts,spring,hibernate. struts的作用是:是web层,其核心是mvc模式,他可以自动获取参数,自动类型转换,自动 ...

  4. Eclipse搭建SSH(Struts2+Spring+Hibernate)框架教程

    | 版权声明:本文为博主原创文章,未经博主允许不得转载. 前言 确实,刚创博客,对于这个陌生的东西还是有些许淡然.这是我的第一篇博文,希望能给你们有帮助,这就是我最大的乐趣! 好了下面进入正题: SS ...

  5. Maven环境下搭建SSH框架之Spring整合Hibernate

    © 版权声明:本文为博主原创文章,转载请注明出处 1.搭建环境 Spring:4.3.8.RELEASE Hibernate:5.1.7.Final MySQL:5.7.17 注意:其他版本在某些特性 ...

  6. eclipse Indigo搭建SSH框架详解

    SSH框架是最常用的框架之一,在搭建SSH框架的时候总有人遇到这样,那样的问题.下面我介绍一下SSH框架搭建的全过程. 第一步:准备工作.   下载好eclipse,Struts2,Spring,Hi ...

  7. java自定义注解知识实例及SSH框架下,拦截器中无法获得java注解属性值的问题

    一.java自定义注解相关知识 注解这东西是java语言本身就带有的功能特点,于struts,hibernate,spring这三个框架无关.使用得当特别方便.基于注解的xml文件配置方式也受到人们的 ...

  8. Maven环境下搭建SSH框架

    © 版权声明:本文为博主原创文章,转载请注明出处 1.搭建环境 Maven:3.3.9 Struts2:2.5.10 Spring:4.3.8.RELEASE Hibernate:5.1.7.Fina ...

  9. java ssh 框架下 利用junit4 spring-test进行单元测试

    ssh框架下  由于bean实列 都交给spring 管理,要做单元测试就比较苦难,junit4 引入注解方便很多: 1. 加入依赖包 使用Spring的测试框架需要加入以下依赖包: JUnit 4 ...

随机推荐

  1. Django 开发调试工具:Django-debug-toolbar

    介绍 django-debug-toolbar 是一组可配置的面板,可显示有关当前请求/响应的各种调试信息,并在单击时显示有关面板内容的更多详细信息. github地址 文档地址 安装 pip3 in ...

  2. html块级元素和行级元素的区别和使用

    行内.块状元素区别: 1.行内元素与块级函数可以相互转换,通过修改display属性值来切换块级元素和行内元素,行内元素display:inline,块级元素display:block. 2.行内元素 ...

  3. (原) 剑指offer--之数值的整数次方

    题目描述 给定一个double类型的浮点数base和int类型的整数exponent.求base的exponent次方.   初次看题觉得这题好简单,直接用库函数power()不就行了,仔细想了想,万 ...

  4. LeetCode(136) Single Number

    题目 Given an array of integers, every element appears twice except for one. Find that single one. Not ...

  5. Python 轻量化简繁转换

    最近项目中用到了简单的简繁转换,如果用OpenCC太重了,于是搜到了 zhconv 这个库. zhconv 提供基于 MediaWiki 词汇表的最大正向匹配简繁转换,Python 2, 3 通用. ...

  6. 模板<最小生成树>

    转载 最小生成树浅谈 这里介绍最小生成树的两种方法:Prim和Kruskal. 两者区别:Prim在稠密图中比Kruskal优,在稀疏图中比Kruskal劣.Prim是以更新过的节点的连边找最小值,K ...

  7. go的相关用法

    1. have gone to和have been to的区别 have gone to和have been to的区别如下: 1.have gone to,第三人称时用 has gone to ha ...

  8. .NET重构(三):在注册和充值中,触发器的使用

    导读:机房做到注册和充值了,有两个关键点:在注册的时候,同时给该用户写入充值记录:在充值的时候,给该用户更改余额信息.第一次做的时候,是一条一条的写,那时候师傅就说了触发器和存储过程的使用,现在终于用 ...

  9. shell的case-esac

    case ... esac 与其他语言中的 switch ... case 语句类似,是一种多分枝选择结构. case 语句匹配一个值或一个模式,如果匹配成功,执行相匹配的命令.case语句格式如下: ...

  10. [luoguP3317] [SDOI2014]重建(矩阵树定理)

    传送门 为了搞这个题又是学行列式,又是学基尔霍夫矩阵. 矩阵树定理 本题题解 无耻地直接发链接,反正我也是抄的题解.. #include <cstdio> #include <cma ...