Spring+Struts2+Hibernate整合开发环境搭建

来源:互联网 发布:php彩票开奖源码 编辑:程序博客网 时间:2024/05/02 01:46

一、概述

本文主要用来记录项目中整合使用Spring+Struts2+Hibernate的环境搭建,ide使用eclipse,仅供参考!

二、搭建开发环境

2.1 新建java web程序,导包

新建web项目,在WEB-INF目录下新建lib目录,将三个开源框架依赖的jar包导至该lib目录下

这里写图片描述

2.2 新建struts2.xml文件

在src目录下新建struts2.xml文件

这里写图片描述

struts2.xml中为项目中需要的action配置,例如:

<?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"><struts>    <constant name="struts.devMode" value="false" />    <package name="shop" extends="struts-default" namespace="/">        <global-results>            <result name="msg">/WEB-INF/jsp/msg.jsp</result>        </global-results>        <!-- 配置首页访问action -->        <action name="index" class="indexAction">            <result name="index">/WEB-INF/jsp/index.jsp</result>        </action> ......

2.3 新建applicationContext.xml文件

在src目录下新建applicationContext.xml文件

根据项目,配置hibernate、action以及相关的bean,例如:

<?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:context="http://www.springframework.org/schema/context"    xmlns:aop="http://www.springframework.org/schema/aop"    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/context    http://www.springframework.org/schema/context/spring-context.xsd    http://www.springframework.org/schema/aop    http://www.springframework.org/schema/aop/spring-aop.xsd    http://www.springframework.org/schema/tx     http://www.springframework.org/schema/tx/spring-tx.xsd">    <!-- 配置连接池: -->    <!-- 引入外部属性文件 -->    <context:property-placeholder location="classpath:jdbc.properties"/>    <!-- 配置C3P0连接池: -->    <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">        <property name="driverClass" value="${jdbc.driver}"/>        <property name="jdbcUrl" value="${jdbc.url}"/>        <property name="user" value="${jdbc.user}"/>        <property name="password" value="${jdbc.password}"/>    </bean>    <!-- Hibernate的相关信息 -->    <bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">        <!-- 注入连接池 -->        <property name="dataSource" ref="dataSource"/>        <!-- 配置Hibernate的其他的属性 -->        <property name="hibernateProperties">            <props>                <prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect</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>        <!-- 配置Hibernate的映射文件 -->        <property name="mappingResources">            <list>                <value>cn/itcast/shop/user/vo/User.hbm.xml</value>                <value>cn/itcast/shop/category/vo/Category.hbm.xml</value>            </list>        </property>     </bean>    <!-- 事务管理: -->    <!-- 事务管理器 -->    <bean id="transactionManager"                  class="org.springframework.orm.hibernate3.HibernateTransactionManager">        <property name="sessionFactory" ref="sessionFactory"/>    </bean>    <!-- 开启注解事务 -->    <tx:annotation-driven transaction-manager="transactionManager"/>    <!-- Action的配置 ===========================-->    <!-- 首页访问的action -->    <bean id="indexAction" class="cn.itcast.shop.index.action.IndexAction" scope="prototype">        <property name="categoryService" ref="categoryService"/>        </bean>       <!-- 用户注册访问的action -->          <bean id="userAction" class="cn.itcast.shop.user.action.UserAction" scope="prototype">        <property name="userService" ref="userService"/>       </bean>    <!-- 生成验证码Action -->    <bean id="checkImgAction" class="cn.itcast.shop.user.action.CheckImgAction" scope="prototype"/>    <!-- Service的配置  ===========================-->    <bean id="userService" class="cn.itcast.shop.user.service.UserService">        <property name="userDao" ref="userDao"/>       </bean>    ......

2.4 src目录下创建文件jdbc.properties(非必须)

jdbc.driver = com.mysql.jdbc.Driverjdbc.url = jdbc:mysql:///shopjdbc.user = rootjdbc.password =123456

2.5 src目录下创建log4j.properties

### direct log messages to stdout ###log4j.appender.stdout=org.apache.log4j.ConsoleAppenderlog4j.appender.stdout.Target=System.outlog4j.appender.stdout.layout=org.apache.log4j.PatternLayoutlog4j.appender.stdout.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n### direct messages to file mylog.log ###log4j.appender.file=org.apache.log4j.FileAppenderlog4j.appender.file.File=f:/mylog.loglog4j.appender.file.layout=org.apache.log4j.PatternLayoutlog4j.appender.file.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n### set log levels - for more verbose logging change 'info' to 'debug' ###log4j.rootLogger=info, stdout

2.6 web.xml配置

<?xml version="1.0" encoding="UTF-8"?><web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0">  <display-name>SSHshop</display-name>  <!-- 配置Spring的核心监听器 --> <listener>    <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener> <context-param>    <param-name>contextConfigLocation</param-name>    <param-value>classpath:applicationContext.xml</param-value> </context-param> <!-- 配置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>    <dispatcher>REQUEST</dispatcher>    <dispatcher>FORWARD</dispatcher> </filter-mapping>  <display-name></display-name>   <welcome-file-list>    <welcome-file>index.jsp</welcome-file>  </welcome-file-list></web-app>