`

struts2.1+hibernate 3.2+spring 2.5 整合

阅读更多
在MyEclipse中新建一个项目,基于j2ee5,按以下步骤:

1、类库:

Struts:Commons-logging-x.x.x.jar、freemarker-x.x.x.jar、ognl-x.x.x.jar、xwork-x.x.x.jar、struts-2-core-x.x.x.jar、struts2-spring-plugin-x.x.x.jar

Hibernate:Hibernate3.2 Core Libraries、Hibernate 3.2 Annotations & Entity Manager(删除asm.jar、asm-attrs.jar、cglib-x.x.x.jar)

Spring:Spring 2.5 Aop Libraries、 Spring 2.5 Core Libraries、 Spring 2.5 Persistence Core Libraries、 Spring 2.5 Web Libraries

Database pool: commons-pool.jar、commons-dbcp.jar 或者 c3p0-x.x.x.jar

Database driver: mysql-connector-java-x.x.x.jar

2、web.xml

添加以下内容:

<context-param>
  <param-name>contextConfigLocation</param-name>
  <param-value>/WEB-INF/applicationContext.xml</param-value>
</context-param>
<listener>
  <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<filter>
  <filter-name>lazyLoadingFilter</filter-name>
  <filter-class>org.springframework.orm.hibernate3.support.OpenSessionInViewFilter</filter-class>
</filter>
<filter-mapping>
  <filter-name>lazyLoadingFilter</filter-name>
  <url-pattern>*.action</url-pattern>
</filter-mapping>
<filter>
  <filter-name>characterEncoding</filter-name>
  <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
</filter>
<filter-mapping>
  <filter-name>characterEncoding</filter-name>
  <url-pattern>/*</url-pattern>
</filter-mapping>
<filter>
  <filter-name>actionContextCleanUp</filter-name>
  <filter-class>org.apache.struts2.dispatcher.ActionContextCleanUp</filter-class>
</filter>
<filter-mapping>
  <filter-name>actionContextCleanUp</filter-name>
  <url-pattern>/*</url-pattern>
</filter-mapping>
<filter>
  <filter-name>struts2</filter-name>
  <filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
</filter>
<filter-mapping>
  <filter-name>struts2</filter-name>
  <url-pattern>/*</url-pattern>
</filter-mapping>

3、applicationContext.xml及jdbc.properties

在/WEB-INF下新建applicationContext.xml及jdbc.properties,内容如下:

<?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-2.5.xsd">
<bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
  <property name="location" value="/WEB-INF/jdbc.properties"/>
</bean>
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
  <property name="driverClassName" value="${jdbc.driverClassName}"/>
  <property name="url" value="${jdbc.url}"/>
  <property name="username" value="${jdbc.username}"/>
  <property name="password" value="${jdbc.password}"/> 
</bean>

<bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
  <property name="dataSource" ref="dataSource"/>
  <property name="mappingDirectoryLocations">
   <list>
    <value>classpath:/com/test/domain/hbm/</value>
   </list>
  </property>
  <property name="hibernateProperties">
   <props>
    <prop key="hibernate.dialect">
     org.hibernate.dialect.MySQLDialect
    </prop>
    <prop key="hibernate.show_sql">true</prop>
    <prop key="hibernate.generate_statistics">true</prop>
   </props>
  </property>
</bean>
</beans>



jdbc.properties的内容如下:

jdbc.driverClassName=org.gjt.mm.mysql.Driver
jdbc.url=jdbc:mysql://localhost:3306/testssh
jdbc.username=root
jdbc.password=



4、src下添加login4j.properties、messageResource.properties、struts.properties、struts.xml

其中struts.properties的内容可以从struts2-core-x.x.x.jar的org.apache.struts2下的default.properties下拷过来,修改以下几项

struts.locale=zh_CN

struts.devMode = true #开发时高为true可以在调试时打印出更多信息,部署时设为false

struts.custom.i18n.resources=messageResource #国际化文件为messageResource.properties

其他采用默认即可



struts.xml的模板如下:(可直接从struts2-core-x.x.x.jar根目录下拷struts-default.xml的文档声明)

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC
    "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
    "http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
<package name="testssh" namespace="/" extends="struts-default">
  <action name="login" class="login">
   <result name="success">/success.jsp</result>
   <result name="input">/index.jsp</result>
   <result name="error">/error.jsp</result>
  </action>
</package>
</struts>



log4j.properties内容如下:(只定义了输出Debug或以上级别信息到控制台)

#1区
#### Use two appenders, one to log to console, another to log to a file
log4j.rootLogger = debug, stdout
#2区
#Print only messages of priority WARN or higher for your category
#log4j.logger.TestLog4j= , R
#log4j.logger.TestLog4j.TestLog4j2=WARN
#3区
#### First appender writes to console
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
# Pattern to output the caller's file name and line number.
log4j.appender.stdout.layout.ConversionPattern=%5p [%t] (%F:%L) - %m%n
#4区
#### Second appender writes to a file
#log4j.appender.R=org.apache.log4j.RollingFileAppender
#log4j.appender.R.File=F:\\nepalon\\classes\\TestLog4j\\example.log
# Control the maximum log file size
#log4j.appender.R.MaxFileSize=100KB
# Archive log files (one backup file here)
#log4j.appender.R.MaxBackupIndex=1
#log4j.appender.R.layout=org.apache.log4j.PatternLayout
#log4j.appender.R.layout.ConversionPattern=%d{yyyy-MM-dd hh:mm:ss}:%p %t %c - %m%n


5、src下的com.test.domain.hbm存放hibernate的表对象映射文件,如User.hbm.xml,内容如下:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping>
<class name="com.test.domain.User" table="test" catalog="testssh">
  <id name="id" type="java.lang.Integer">
   <column name="Id"/>
   <generator class="increment"/>
  </id>
 
  <property name="username" type="java.lang.String">
   <column name="name"/>
  </property>
 
  <property name="password">
   <column name="password"/>
  </property>
</class>
</hibernate-mapping>



类的Dao操作继承Spring的HibernateDaoSupport,并使用getHibernateTemplate()方法取得HibernateTemplate对象进行各种增删改查操作。



6、Struts2的Xwork验证框架配置文件,如LoginAction-validate.xml(ActionName-validation.xml),与相应Action放在同个目录下,在Jsp页面的<s:form />标签加上"validate=true"进行前台较验。

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE validators PUBLIC
    "-//OpenSymphony Group//XWork Validator 1.0.2//EN"
    "http://www.opensymphony.com/xwork/xwork-validator-1.0.2.dtd">
<validators>
  <field name="name">
   <field-validator type="requiredstring">
    <message key="login.username.empty"/>
   </field-validator>
  </field>
  <field name="password">
   <field-validator type="requiredstring">
    <message key="login.password.empty"/>
   </field-validator>
  </field>
</validators>



本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/bird_wang/archive/2008/10/26/3144885.aspx
分享到:
评论

相关推荐

    struts2.1 + spring 2.5 + hibernate 3.2 增删改查

    Struts2.1、Spring 2.5 和 Hibernate 3.2 是经典的Java Web开发框架组合,用于构建高效、可维护的企业级应用。这个详细例子将深入探讨如何使用这三个框架协同工作,实现数据库的增(Add)、删(Delete)、改(Modify...

    struts2.1 + hibernate3.2+spring2.5整合视频

    Struts2.1、Hibernate3.2和Spring2.5是Java Web开发中经典的MVC框架集成,被誉为“S2SH”组合。这个整合视频教程旨在帮助开发者掌握这三大框架的协同工作,提升Web应用的开发效率和质量。 Struts2作为Action层框架...

    struts2+hibernate3.2+spring2.5整合示例

    做了一个ssh2的整合示例,删除了示例中的jar包,资源太大传不上,该示例采用的目前主流的技术struts2.1+hibernate3.2+spring2.5 的整合开发,示例采用面向接口的设计开发模式,使用spring来管理hibernate的事务,...

    spring2.5+struts2+hibernate3.2=ssh项目框架源码

    这个项目的源码提供了使用Spring 2.5、Struts 2和Hibernate 3.2构建应用程序的实例,这对于学习和理解SSH框架的整合及实际应用有着重要的参考价值。 Spring是一个全面的后端应用程序框架,它提供了依赖注入(DI)和...

    struts2.1 + hibernate3.2 + spring 2.5 实现blob数据上传、下载

    Struts2.1、Hibernate3.2和Spring 2.5是Java开发中经典的MVC框架组合,它们各自承担着不同的职责。Struts2作为控制层,负责处理用户请求并调度业务逻辑;Hibernate则作为持久层框架,处理数据库操作;而Spring作为...

    EXT2.1+struts2+spring2.5+hibernate3.2

    EXT2.1、Struts2、Spring2.5和Hibernate3.2是四个在Java Web开发中非常重要的技术框架,它们各自负责不同的职责,并且可以协同工作以构建强大的企业级应用。 EXT2.1是一个JavaScript库,主要用于创建富客户端用户...

    手动整合Struts1.3 +hibernate3.2+Spring2.5 .txt

    ### 手动整合Struts1.3 + Hibernate3.2 + Spring2.5 #### 一、概述 本文档旨在详细介绍如何手动整合Struts 1.3、Hibernate 3.2 和 Spring 2.5框架,实现一个典型的MVC架构应用。通过这种方式,可以将业务逻辑、...

    Java SSH框架整合搭建Web系统(Struts1.2+Spring2.5+Hibernate3.2)

    ### Java SSH框架整合搭建Web系统(Struts1.2+Spring2.5+Hibernate3.2) #### 一、准备工作 在开始构建基于Struts1.2+Spring2.5+Hibernate3.2的Web应用之前,需要进行一系列的基础设置工作。 **1.1 创建工程** ...

    hibernate3.2+spring2.5+struts2.1配置过程.doc

    在本文中,我们将详细探讨如何配置一个基于Java的Web应用程序,使用Hibernate3.2作为持久层框架,Spring2.5作为应用上下文管理和依赖注入工具,以及Struts2.1作为MVC框架。这个组合通常被称为SSH(Struts2、Spring、...

    struts2.1.6+spring2.0+hibernate3.2常用配置包

    另外三大框架的添加顺序也需要注意下,我的添加顺序是 struts2.1.6、spring2.0、hibernate3.2 spring版本差异(包方面)没有研究过,大致雷同,也应该保持版本一致,即在同一个稳定发行包中下载的包。 以下包后面跟...

    搞定J2EE:STRUTS+SPRING+HIBERNATE整合详解与典型案例 (1)

    12.6 整合Struts、Spring和Hibernate实现用户管理 12.6.1 Struts、Spring和Hibernate的整合方式 12.6.2 编写用户注册画面regedit.jsp 12.6.3 编写用户登录画面login.jsp 12.6.4 编写注册控制器RegeditAction.java ...

    hibernate3[1].2+spring2.5+struts2.1配置过程

    本文将详细介绍如何在Windows XP环境下,使用MyEclipse 7.0和Tomcat 6.0容器,配置一个基于Hibernate 3.2、Spring 2.5和Struts2.1的项目。 首先,创建一个新的Web工程,命名为"ssh",选择Java EE 5.0规范。接着,...

    轻量级J2EE企业应用实战Struts+Spring+Hibernate整合开发

    第二部分详细讲解了Struts 2.1、Spring 2.5和Hibernate 3.2三个框架用法,介绍三个框架时,通过Eclipse IDE的使用来上手,一步步带领读者深入三个框架的核心.第三部分示范开发了一个包含7个表,表之间具有复杂的关联...

    搞定J2EE:STRUTS+SPRING+HIBERNATE整合详解与典型案例 (3)

    12.6 整合Struts、Spring和Hibernate实现用户管理 12.6.1 Struts、Spring和Hibernate的整合方式 12.6.2 编写用户注册画面regedit.jsp 12.6.3 编写用户登录画面login.jsp 12.6.4 编写注册控制器RegeditAction.java ...

    MyEclipse8.0 Struts2+Spring+Hibernate

    在本篇内容中,我们将详细探讨如何在MyEclipse8.0环境下整合Struts2.1、Spring3.0和Hibernate3.2。 首先,我们需要在MyEclipse8.0中创建一个新的Web项目。这可以通过选择"New -&gt; Dynamic Web Project"来完成,然后...

    最新Hibernate3[1].2_+_Spring_2.5_+_Struts_2.1_整合开发手册

    ### 最新Hibernate3.2+Spring2.5+Struts2.1整合开发手册 #### 概述 本文档旨在详细介绍如何使用最新的Hibernate 3.2、Spring 2.5和Struts 2.1进行整合开发。通过这种方式,开发者可以更好地理解这三种技术之间的...

    搞定J2EE:STRUTS+SPRING+HIBERNATE整合详解与典型案例 (2)

    12.6 整合Struts、Spring和Hibernate实现用户管理 12.6.1 Struts、Spring和Hibernate的整合方式 12.6.2 编写用户注册画面regedit.jsp 12.6.3 编写用户登录画面login.jsp 12.6.4 编写注册控制器RegeditAction.java ...

Global site tag (gtag.js) - Google Analytics