`
gcgmh
  • 浏览: 355867 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

struts2、spring、hibernate手工整合

阅读更多
引用
用例的版本号:struts2-2.16
1、增加struts2的commons-logging-1.0.4.jar、freemarker-2.3.13.jar、ognl-   2.6.11.jar、struts2-core-2.1.6.jar、xwork-2.1.2.jar、commons-fileupload-1.2.1.jar这几个包到工程里。
2、从struts2的example里面copy一个struts.xml文件到项目里面
3、在web.xml里面配置struts2的核心过滤器及struts.xml里配置package
   
 <!-- 配置struts2的核心过滤器 -->
  <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>
------------------------------------------
<struts>

    <package name="struts2" extends="struts-default">
    	
    </package>

</struts>

4、引入spring2.5的spring.jar包,并copy一个applicationContext.xml到项目里
5、在web.xml里面增加一个spring的监听器
  <!-- 配置spring的监听器 -->
  <listener>
    <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
  </listener>

6、引入struts2提供的spring与struts2的整合插件包,struts2-spring-plugin-2.1.6.jar
7、写一个注册service,配置applicationContext.xml,struts.xml
<!-- action的配置,每个action一个 -->
    	<action name="LoginAction" class="loginAction">
    		<result name="success">/result.jsp</result>
    		<result name="input">/login.jsp</result>
    	</action>
-------------------------------------------
<!-- 要注入struts2的Action里面的service -->
	<bean id="loginServiceImpl" class="com.struts2.service.impl.LoginServiceImpl" />
	
	<!-- struts2里面的action配置 -->
	<bean id="loginAction" class="com.struts2.action.LoginAction">
		<property name="loginService" ref="loginServiceImpl" />
	</bean>
--------------------------------------------
jsp页面上增加对struts2标签的支持:
<%@ taglib prefix="s" uri="/struts-tags"%>


注:关于el表达式在web.xml用2.5版本的xsd不起作用的处理方法:
1.在jsp页面上增加:<%@ page isELIgnored="false"%>
2.修改web.xml文件的dtd定义,还改回2.4版本
<web-app xmlns="http://java.sun.com/xml/ns/j2ee" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd" 
    version="2.4">

自此,struts2和spring2.5的integrate完成。下面整合hibernate3.3和spring2.5

--------------------------------------------------------------------------

1、增加hibernate的jar包:hibernate3.jar,以及/lib/required目录下的所有jar包,再增加slf4j-api-1.5.8.jar这个jar包的实现jar包slf4j-log4j12-1.5.8.jar及log4j-1.2.15.jar
2、在web.xml文件里增加如下的配置:
        <!--applicationContext.xml配置文件分成多个,让配置的spring监视器每个都能加载到 -->
        <context-param>
		<param-name>contextConfigLocation</param-name>
		<param-value>classpath*:applicationContext-*.xml</param-value>
	</context-param>

	<!-- 配置Spring 自动管理Session-->
	<filter>
		<filter-name>hibernateSessionFilter</filter-name>
		<filter-class>
	org.springframework.orm.hibernate3.support.OpenSessionInViewFilter 
		</filter-class>
	</filter>
	<filter-mapping>
		<filter-name>hibernateSessionFilter</filter-name>
		<url-pattern>*.action</url-pattern>
	</filter-mapping>

        <!--配置中文编码的过滤器 由spring管理  -->
	<filter>
		<filter-name>encodingFilter</filter-name>
		<filter-class>
			org.springframework.web.filter.CharacterEncodingFilter
		</filter-class>
		<init-param>
			<param-name>encoding</param-name>
			<param-value>UTF-8</param-value>
		</init-param>
	</filter>
	<filter-mapping>
		<filter-name>encodingFilter</filter-name>
		<url-pattern>/*</url-pattern>
	</filter-mapping>


3、配置hibernate.cfg.xml文件:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-configuration PUBLIC
	"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
	"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">

<hibernate-configuration>
	<session-factory>
		<property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
		<property name="hibernate.connection.url">jdbc:mysql://127.0.0.1/oa</property>
		<property name="hibernate.connection.username">root</property>
		<property name="hibernate.connection.password">root</property>
		<property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property>
		<property name="hibernate.show_sql">true</property>
		<property name="hibernate.cache.provider_class">org.hibernate.cache.HashtableCacheProvider</property>
		<mapping resource="com/oa/model/Person.hbm.xml"/>
	</session-factory>
</hibernate-configuration>


4、将applicationContext.xml文件分成3个,分别是applicationContext-action.xml,applicationContext-beans.xml,applicationContext-common.xml,放到conf文件目录里,统一方便管理各种bean。




----------------------------------------------------------------
几个xml文件的头:
1.hibernate.cfg.xml
<!DOCTYPE hibernate-configuration PUBLIC
	"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
	"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">

2.Person.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.oa.model.Person" table="t_person">
		<id name="id" access="field">
			<generator class="native" />
		</id>
		<property name="name"  access="field"/>		
		<property name="sex" access="field"/>
		<property name="address" access="field"/>
		<property name="duty" access="field"/>
		<property name="phone" access="field"/>
		<property name="description" access="field"/>
		
	</class>
	
</hibernate-mapping>

3.struts2.xml
<!DOCTYPE struts PUBLIC
    "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
    "http://struts.apache.org/dtds/struts-2.0.dtd">

4.applicationContext.xml 包含aop提示
<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:tx="http://www.springframework.org/schema/tx"
	xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
           http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.5.xsd
           http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.5.xsd">


hibernate对象生成表的工具代码:
import org.hibernate.cfg.Configuration;
import org.hibernate.tool.hbm2ddl.SchemaExport;

public class ExportDB {

	public static void main(String[] args) {
		
		//读取hibernate.cfg.xml文件
		Configuration cfg = new Configuration().configure();
		
		SchemaExport export = new SchemaExport(cfg);
		
		export.create(true, true);
	}
}
分享到:
评论

相关推荐

    struts2、hibernate3、spring2.5整合jar包

    Struts2、Hibernate3和Spring2.5是Java Web开发中的三大框架,它们的整合能够构建出高效、灵活的企业级应用程序。SSH(Struts2、Spring、Hibernate)整合旨在简化开发流程,提供模型-视图-控制器(MVC)架构支持,...

    struts2 hibernate spring博文汇集

    根据给定的文件信息,我们可以总结出以下几...以上总结了从标题、描述以及部分文件内容中提取的关键知识点,覆盖了Struts2、Spring、Hibernate等多个方面,旨在帮助读者更好地理解和掌握这些技术的核心概念及应用场景。

    strut2+hibernate+spring项目整合实例

    在SSH整合项目中,通常会有一个Spring配置文件(如applicationContext.xml),这里定义了所有bean的配置,包括Struts2的Action、Hibernate的SessionFactory以及业务服务类等。这些bean可以通过@Autowired注解自动...

    Maven+spring+ struts2+ Ibatis+mysql整合增删改查

    Spring还提供了对DAO(Data Access Object)的支持,与各种持久层框架(如JDBC、Hibernate、MyBatis)良好集成,以及对Web框架(如Struts2)的整合。 **Struts2** Struts2是一个基于MVC(Model-View-Controller)...

    struts2springibatis整合

    在IT领域,特别是Java Web开发中,Struts2、Spring和iBatis(现称MyBatis)的整合是构建企业级应用时常见的技术栈。本文将深入解析如何实现Struts2、Spring与iBatis的整合,以及如何在项目中有效配置这些框架。 ###...

    spring+struts+hibernate半自动开发.zip

    • 架构技术: Struts2+Spring3+Hibernate4+EasyUI1.3 • 代码生成器:自动生成美观大方的页面及后台代码 • 查询条件生成器: 动态拼SQL,追加查询条件 • 页面校验器: EasyUI 页面检验机制 • 完整Spring用户权限 ...

    spring3.0.5_hibernate3.5.3_struts2.2.1整合jar包.rar

    经过本人一天调试通过,ssh全部是从官网上下载的最新版本,增加了junit4,annotation,jdbc,spring和strtus整合插件配置所需jar包等 解决了最新hibernate3.5自带annotation与原版本的冲突问题,解决基本上能遇到的...

    基于(hibernate3+struts2+spring2)的内容管理系统

    内容繁杂,手工管理效率低下,手工链接视音频信息经常无法实现; 应用难度较高,许多工作需要技术人员配合才能完成,角色分工不明确; 改版工作量大,系统扩展能力差,集成其它应用时更是降低了灵活性; 对于网站...

    java web技术开发大全(最全最新)

    《Java Web开发技术大全:JSP+Servlet+Struts+Hibernate+Spring+Ajax》特别介绍了Struts 2对AjAX的支持,还重点剖析了SSH框架的整合开发,并给出了两个综合案例来展示整合SSH框架开发Web应用。 和已经出版的同类图书...

    java web开发技术大全

    《Java Web开发技术大全:JSP+Servlet+Struts+Hibernate+Spring+Ajax》特别介绍了Struts 2对AjAX的支持,还重点剖析了SSH框架的整合开发,并给出了两个综合案例来展示整合SSH框架开发Web应用。 和已经出版的同类图书...

    SSH框架搭建

    SSH框架,全称为Struts2、Spring和Hibernate的组合,是Java Web开发中常见的三大开源框架集成。这个框架集合提供了模型-视图-控制器(MVC)架构模式,以及服务层和持久层的支持,帮助开发者高效地构建企业级应用程序...

    整合ssh框架时常遇到的错误

    在整合SSH(Spring、Struts、Hibernate)框架的过程中,初学者常常会遭遇一系列技术难题,尤其是在使用MyEclipse开发环境中构建基于Struts2+Spring2+Hibernate3架构的项目时。下面将详细解析一些常见的错误及其解决...

    使用MyEclipse集成SSH和DWR【最佳方案】

    在本文档中,重点介绍了如何利用MyEclipse集成SSH(Struts + Spring + Hibernate)框架以及DWR(Direct Web Remoting),并且特别强调了Spring与Struts之间的集成方法。 **Spring与Struts整合的价值:** - **资源管理...

    ssh整合步骤

    SSH框架是指Struts2、Spring以及Hibernate这三种技术的组合,常被用于构建企业级应用系统。本文将详细介绍如何搭建和配置SSH框架。 ##### 1. 开发环境准备 开发环境配置如下: - **IDE**: MyEclipse 6.5 - **应用...

    SSH框架整合

    SSH框架整合是指将Spring、Struts2与Hibernate这三种技术框架结合在一起,构建出一个高效且可扩展性强的企业级应用系统。本篇文档将详细介绍如何进行SSH框架整合的具体步骤,帮助开发者更好地理解和掌握这一过程。 ...

    基于MyEclipse的SSH整合.pdf

    8. **测试Spring和Hibernate的整合**:编写简单的测试代码验证Spring与Hibernate是否能够正常交互。 9. **整合Struts和Spring**:通过Spring管理Struts中的Action对象,实现业务逻辑和Web层之间的解耦。 10. **...

    基于SSH框架的实验教学预算申报审核系统

    SSH框架是由三个开源项目组成:Struts2、Spring 和 Hibernate。这三者结合使用可以构建出功能强大的企业级Web应用程序。 1. **Struts2**:这是一个基于MVC模式的Java Web框架,用于处理HTTP请求和响应,负责页面...

Global site tag (gtag.js) - Google Analytics