引用
用例的版本号: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是Java Web开发中的三大框架,它们的整合能够构建出高效、灵活的企业级应用程序。SSH(Struts2、Spring、Hibernate)整合旨在简化开发流程,提供模型-视图-控制器(MVC)架构支持,...
根据给定的文件信息,我们可以总结出以下几...以上总结了从标题、描述以及部分文件内容中提取的关键知识点,覆盖了Struts2、Spring、Hibernate等多个方面,旨在帮助读者更好地理解和掌握这些技术的核心概念及应用场景。
在SSH整合项目中,通常会有一个Spring配置文件(如applicationContext.xml),这里定义了所有bean的配置,包括Struts2的Action、Hibernate的SessionFactory以及业务服务类等。这些bean可以通过@Autowired注解自动...
Spring还提供了对DAO(Data Access Object)的支持,与各种持久层框架(如JDBC、Hibernate、MyBatis)良好集成,以及对Web框架(如Struts2)的整合。 **Struts2** Struts2是一个基于MVC(Model-View-Controller)...
在IT领域,特别是Java Web开发中,Struts2、Spring和iBatis(现称MyBatis)的整合是构建企业级应用时常见的技术栈。本文将深入解析如何实现Struts2、Spring与iBatis的整合,以及如何在项目中有效配置这些框架。 ###...
• 架构技术: Struts2+Spring3+Hibernate4+EasyUI1.3 • 代码生成器:自动生成美观大方的页面及后台代码 • 查询条件生成器: 动态拼SQL,追加查询条件 • 页面校验器: EasyUI 页面检验机制 • 完整Spring用户权限 ...
经过本人一天调试通过,ssh全部是从官网上下载的最新版本,增加了junit4,annotation,jdbc,spring和strtus整合插件配置所需jar包等 解决了最新hibernate3.5自带annotation与原版本的冲突问题,解决基本上能遇到的...
内容繁杂,手工管理效率低下,手工链接视音频信息经常无法实现; 应用难度较高,许多工作需要技术人员配合才能完成,角色分工不明确; 改版工作量大,系统扩展能力差,集成其它应用时更是降低了灵活性; 对于网站...
《Java Web开发技术大全:JSP+Servlet+Struts+Hibernate+Spring+Ajax》特别介绍了Struts 2对AjAX的支持,还重点剖析了SSH框架的整合开发,并给出了两个综合案例来展示整合SSH框架开发Web应用。 和已经出版的同类图书...
《Java Web开发技术大全:JSP+Servlet+Struts+Hibernate+Spring+Ajax》特别介绍了Struts 2对AjAX的支持,还重点剖析了SSH框架的整合开发,并给出了两个综合案例来展示整合SSH框架开发Web应用。 和已经出版的同类图书...
SSH框架,全称为Struts2、Spring和Hibernate的组合,是Java Web开发中常见的三大开源框架集成。这个框架集合提供了模型-视图-控制器(MVC)架构模式,以及服务层和持久层的支持,帮助开发者高效地构建企业级应用程序...
在整合SSH(Spring、Struts、Hibernate)框架的过程中,初学者常常会遭遇一系列技术难题,尤其是在使用MyEclipse开发环境中构建基于Struts2+Spring2+Hibernate3架构的项目时。下面将详细解析一些常见的错误及其解决...
在本文档中,重点介绍了如何利用MyEclipse集成SSH(Struts + Spring + Hibernate)框架以及DWR(Direct Web Remoting),并且特别强调了Spring与Struts之间的集成方法。 **Spring与Struts整合的价值:** - **资源管理...
SSH框架是指Struts2、Spring以及Hibernate这三种技术的组合,常被用于构建企业级应用系统。本文将详细介绍如何搭建和配置SSH框架。 ##### 1. 开发环境准备 开发环境配置如下: - **IDE**: MyEclipse 6.5 - **应用...
SSH框架整合是指将Spring、Struts2与Hibernate这三种技术框架结合在一起,构建出一个高效且可扩展性强的企业级应用系统。本篇文档将详细介绍如何进行SSH框架整合的具体步骤,帮助开发者更好地理解和掌握这一过程。 ...
8. **测试Spring和Hibernate的整合**:编写简单的测试代码验证Spring与Hibernate是否能够正常交互。 9. **整合Struts和Spring**:通过Spring管理Struts中的Action对象,实现业务逻辑和Web层之间的解耦。 10. **...