Struts2+Spring+Hibernate(SSH)框架的搭建

首先需要下载struts2 ,spring,hibernate  的资源包;

Struts2资源包下载路径:http://www.apache.org/
spring资源包下载路径:http://projects.spring.io/spring-framework/
hibernate资源包下载路径:http://hibernate.org/orm/downloads/

在SSH框架的搭建步骤:

第一步:在eclipse中创建一个web项目,并生成web.xml文件;

第二步:往lib目录导入jar包:
1.struts2所需的jar包:struts2.3.30\struts2-blank\WebContent\WEB-INF\lib(图片)

2.spring 所需的jar包:spring-framework-4.2.2.RELEASE-dist\spring-framework-4.2.2.RELEASE\libs(图片)

3.hibernate所需的jar包:

hibernate-release-5.2.2.Final\lib\required(图片)

第三步:在web.xml 文件中配置struts的过滤器 ,spring 的监听器;(代码如下)

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" id="WebApp_ID" version="3.1">
  <display-name>ssh</display-name>
  <welcome-file-list>
    <welcome-file>default.jsp</welcome-file>
  </welcome-file-list>
  <!--配置struts的过滤器  -->
  <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>

  <!--配置spring的监听器  -->
  <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>
</web-app>

第四步:在src目录下创建四个包 分别是action 控制层, dao 数据层,entity 实体层 ,

service 业务层;(图片说明)

第五步:struts.xml的配置:在src目录下(代码)

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
    "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
    "http://struts.apache.org/dtds/struts-2.3.dtd">
<!-- 上面的头,注意版本,从样例里复制过来 showcase.war\WEB-INF\src\java\struts.xml -->

<struts>

    <!-- 第1步:先定义一个包 -->
    <package name="mypck001" extends="struts-default">
        <!-- 第2步:定义一个action,配置跳转信息 name 类似于Servlet @WebServlet("/IndexServlet")
            http://xxxx/项目名/Index.action http://xxxx/项目名/Index
            class 对应于自己写的Action类 当不写method属性时,默认调用的是execute

         -->

        <action name="Index" class="myIndexAction" method="execute1">
            <!--
                跳转是forward
             /WEB-INF/是防止jsp不经过action就可以访问
              -->
            <result name="success">/WEB-INF/jsp/index2.jsp</result>
            <result name="error">/WEB-INF/jsp/s_tag.jsp</result>
        </action>
    </package>
</struts>
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
    "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
    "http://struts.apache.org/dtds/struts-2.3.dtd">
<!-- 上面的头,注意版本,是从struts2.3.3版本复制过来 struts2-showcase.war\WEB-INF\src\java\struts.xml -->

<struts>
    <!-- 告知Struts2运行时使用Spring来创建对象 -->
    <constant name="struts.objectFactory" value="spring" />

    <!-- include文件用于分割,实现多人并发不冲突 -->
    <include file="s001.xml" />
    <include file="s002.xml" />
    <include file="s003.xml" />
</struts>

第六步:spring的配置: applicationContext.xml文件在src目录下:(代码)

<?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:p="http://www.springframework.org/schema/p"
        xmlns:aop="http://www.springframework.org/schema/aop"
        xmlns:context="http://www.springframework.org/schema/context"
        xmlns:jee="http://www.springframework.org/schema/jee"
        xmlns:tx="http://www.springframework.org/schema/tx"
        xsi:schemaLocation="
            http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-4.2.xsd
            http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.2.xsd
            http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.2.xsd
            http://www.springframework.org/schema/jee http://www.springframework.org/schema/jee/spring-jee-4.2.xsd
            http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-4.2.xsd">
    <!-- 引入外部属性文件 -->
    <context:property-placeholder location="classpath:jdbc.properties"/>

    <!-- 所有需要类的实例都由spring去管理 -->
    <bean id="myIndexAction" class="ssh.action.IndexAction" scope="prototype">
        <!-- setIs(myIndexService) -->
        <property name="is" ref="myIndexService"/>
    </bean>

    <!-- myIndexService = new ssh.service.IndexServiceImpl() -->
    <bean id="myIndexService" class="ssh.service.IndexServiceImpl" scope="prototype">
        <property name="id" ref="myIndexDao"/>
    </bean>

    <bean id="myIndexDao" class="ssh.dao.IndexDaoImpl" scope="prototype">
        <!-- 注入seesionFactory -->
        <property name="sessionFactory" ref="mySessionFactory"></property>
    </bean>

    <!--
    错误的做法,new org.hibernate.internal.SessionFactoryImpl()
    不可以,需要configuration来创建
    bean id="mySessionFactory" class="org.hibernate.internal.SessionFactoryImpl"></bean
     -->

     <bean id="mySessionFactory" class="org.springframework.orm.hibernate5.LocalSessionFactoryBean">
        <!-- 注入连接池,包含了数据库用户名,密码等等信息 -->
        <property name="dataSource" ref="myDataSource"/>

        <!-- 配置Hibernate的其他的属性 -->
        <property name="hibernateProperties">
            <props>
                <prop key="hibernate.dialect">org.hibernate.dialect.MySQL5Dialect</prop>
                <prop key="hibernate.show_sql">true</prop>
                <prop key="hibernate.format_sql">true</prop>
                <prop key="hibernate.connection.autocommit">false</prop>
                <!-- 开机自动生成表 -->
                <prop key="hibernate.hbm2ddl.auto">update</prop>
            </props>
        </property>

        <property name="mappingResources">
            <list>
                <value>ssh/entity/BookCard.hbm.xml</value>
            </list>
        </property>

    </bean>    

          <bean id="myDataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource" destroy-method="close">
        <property name="driverClass" value="${jdbc.driver}"/>
        <property name="jdbcUrl" value="${jdbc.url}"/>
        <property name="user" value="${jdbc.user}"/>
        <property name="password" value="${jdbc.password}"/>
        <!-- 每300秒检查所有连接池中的空闲连接 -->
        <property name="idleConnectionTestPeriod" value="300"></property>
        <!-- 最大空闲时间,900秒内未使用则连接被丢弃。若为0则永不丢弃 -->
        <property name="maxIdleTime" value="900"></property>
        <!-- 最大连接数 -->
        <property name="maxPoolSize" value="2"></property>

    </bean> 

     <!-- dbcp连接池 -->
     <!--切换dbcp连接池 要导入commons-dbcp.jar 和 commons-pool.jar 包 -->
  <!--<bean id="myDataSource2" destroy-method="close" class="org.apache.commons.dbcp.BasicDataSource">
        <property name="driverClassName" value="${jdbc.driver}"/>
        <property name="url" value="${jdbc.url}"/>
        <property name="username" value="${jdbc.user}"/>
        <property name="password" value="${jdbc.password}"/>
      </bean>  -->
</beans>
            
时间: 2024-10-10 07:04:37

Struts2+Spring+Hibernate(SSH)框架的搭建的相关文章

Struts2+Spring+Hibernate 三大框架的合并集成

这次来看看Struts2+Spring+Hibernate三大框架的整合应用,主要是Spring和Hibernate框架的整合,因为前边已经将Strtus2+Spring整合过了基本一样.  首先看一下分工吧: Struts2做的MVC的流程框架,主要完成从客户端访问到选择action的过程,其中过滤器起到了Controller的作用,action属于model,而jsp则是view页面的展示. Spring主要利用Ioc的特长来管理各种对象:action,service,dao,数据访问源,H

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

| 版权声明:本文为博主原创文章,未经博主允许不得转载. 前言 确实,刚创博客,对于这个陌生的东西还是有些许淡然.这是我的第一篇博文,希望能给你们有帮助,这就是我最大的乐趣! 好了下面进入正题: SSH框架简介:①SSH框架是由struts2.spring.hibernate三大框架组合起来的一套总框架,一般来说这三个东西我们不会单独使用.  ②在学习SSH框架之前建议读者先学mvc,因为SSH是在mvc基础上根据mvc的缺点而产生的一套比较成熟的框架,也比较稳定.  ③SSH框架的流程:浏览器

SSH(struts2+spring+hibernate)三大框架整合

SSH框架整合理论: 在SSH框架的JAVAweb项目的开发过程中,WEB层通常使用的是Struts2+jsp,service层使用的是javaBean,DAO层使用的是hibernate,而spring的使用覆盖三层. 使用了spring框架之后,我们可以把对象交给spring来管理.在WEB层中,所有action对象的创建和管理都可以交给spring来完成,这样Struts2就不用自己来new一个action,这一切都可以交给spring,直接向spring来要action对象. 在DAO层

SSH (Struts2+Spring+Hibernate)框架搭建

1.相关jar包下载地址:http://download.csdn.net/detail/harderxin/4420066 2.项目结构截图: 3.相关配置文件: (1)web.xml文件配置 <?xml version="1.0" encoding="UTF-8"?> <web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmln

Struts2,Spring,Hibernate三大框架的整合(SSH)

一.搭建struts2 1).导入struts2 jar包 2).编写web.xml 3).编写jsp页面 4).创建action类,action类要继承ActionSupport类 5).创建struts.xml 二.搭建spring 1).导入spring jar包,还要导入一个struts2提供的插件包 2).创建applicationContext.xml文件 修改struts.xml 3).在web.xml里面配置spring监听 三.搭建Hibernate 1).导入Hibernat

java 的 struts2 Spring Hibernate 三大框架的整合

原理就不说了,直接上配置文件及代码,用来备用 首先,将三大框架所需要的jar包导入项目中 导入  struts2-spring-plugin-2.3.3.jar包  此包的作用是作为struts2 与spring 的桥梁 web.xml <?xml version="1.0" encoding="UTF-8"?> <web-app version="2.5" xmlns="http://java.sun.com/xml

struts2,spring,hibernate三大框架整合

本文利用mvc三层架构来讲述S2SH三大框架整合的步骤: 1.建立好包结构,建立好的包结构如下: 2.导入相应的jar包 (1)struts2用到的jar包 (2)spring用到的jar包 (3)hibernate用到的jar包 (4)mysql驱动包,junit和struts2插件 (5)公共包,例如日志 commons-logging-1.1.3.jar log4j-1.2.17.jar slf4j-log4j12-1.5.0.jar 最后经过整理的jar包清单如下: antlr-2.7.

SSH(Struts2+Spring+Hibernate)框架搭建流程&lt;注解的方式创建Bean&gt;

此篇讲的是MyEclipse9工具提供的支持搭建自加包有代码也是相同:用户登录与注册的例子,表字段只有name,password. SSH,xml方式搭建文章链接地址:http://www.cnblogs.com/wkrbky/p/5912810.html 一.Hibernate(数据层)的搭建: 实现流程 二.Spring(注入实例)的使用: 实现流程 三.Struts2(MVC)的搭建: 实现流程 这里注意一点问题: Struts2与Hibernate在一起搭建,antlr包,有冲突.MyE

用MyEclipse搭建SSH框架(Struts2 Spring Hibernate)

1.new一个web project. 2.右键项目,为项目添加Struts支持. 点击Finish.src目录下多了struts.xml配置文件. 3.使用MyEclipse DataBase Explorer建立数据源. new一个数据源.填入数据源信息. 点击test Driver,如果成功显示: 点击OK,点击Finish. 4.为项目添加Spring支持. 选择五个包,之后JAR Library Installation为如下图. 点击Next. 默认点击Finish. 5.为项目添加