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

Struts2,Spring2,Hibernate3整合

阅读更多

1. web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.4" xmlns="http://java.sun.com/xml/ns/javaee"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
	http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">

	<!-- 用于初始化Spring容器的Listener -->
	<listener>
		<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
	</listener>

	<!-- 载入spring配置文件 -->
	<context-param>
		<param-name>contextConfigLocation</param-name>
		<param-value>classpath:spring/*.xml</param-value>
	</context-param>

	<!-- struts2本质上是一个filter -->
	<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>

	<filter>
		<filter-name> struts-cleanup </filter-name>
		<filter-class>org.apache.struts2.dispatcher.ActionContextCleanUp</filter-class>
	</filter>

	<filter-mapping>
		<filter-name>struts-cleanup</filter-name>
		<url-pattern>/*</url-pattern>
	</filter-mapping>

	<!-- 在freemarker中使用struts2标签 -->
	<servlet>
		<servlet-name>JspSupportServlet</servlet-name>
		<servlet-class>org.apache.struts2.views.JspSupportServlet</servlet-class>
		<load-on-startup>1</load-on-startup>
	</servlet>

	<filter>
		<filter-name>CharacterEncodingFilter</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>CharacterEncodingFilter</filter-name>
		<url-pattern>/*</url-pattern>
	</filter-mapping>

	<welcome-file-list>
		<welcome-file>index.html</welcome-file>
	</welcome-file-list>

</web-app>

 

2. struts.xml

<struts>
	<constant name="struts.custom.i18n.resources" value="messageResource" />
	<constant name="struts.i18n.encoding" value="UTF-8" />
	<constant name="struts.ui.theme" value="simple" />
	<constant name="struts.multipart.maxSize" value="1000000000" />
	<include file="struts/demo-default.xml" />
</struts>

 

3. demo-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="demo-default" extends="struts-default" namespace="/">
		<!-- 使用freemarker只为页面模板 -->
		<result-types>
			<result-type name="freemarke" default="true"
				class="org.apache.struts2.views.freemarker.FreemarkerResult" />
		</result-types>

		<!-- 自定义权限拦截器 -->
		<interceptors>
			<interceptor name="authority" class="org.demo.common.AuthorityInterceptor" />
			<interceptor-stack name="demoDefaultStack">
				<interceptor-ref name="authority" />
				<interceptor-ref name="defaultStack" />
			</interceptor-stack>
		</interceptors>
		<default-interceptor-ref name="demoDefaultStack" />

		<global-results>
			<result name="executeResult">/common/execute_result.ftl</result>
			<result name="exception">/common/exception.ftl</result>
		</global-results>

		<global-exception-mappings>
			<exception-mapping result="exception" exception="org.cms.common.ExceptionHandle" />
		</global-exception-mappings>
	</package>

	<include file="struts/demo-home.xml" />
</struts>

 

4. demo-home.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="demo-home" extends="demo-default" namespace="/home">
		<action name="index" class="org.demo.action.home.UserAction"
			method="index">
			<result name="index">homepage.ftl</result>
		</action>
	</package>
</struts>

 

5. applicationContext.xml - Spring

<?xml version="1.0" encoding="GBK"?>
<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.xsd">

	<!-- 定义数据源bean,使用Apache DBCP数据源实现 -->
	<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"
		destroy-method="close">
		<property name="driverClassName" value="com.mysql.jdbc.Driver" />
		<property name="url" value="jdbc:mysql://localhost:3306/demo?characterEncoding=utf-8" />
		<property name="username" value="root" />
		<property name="password" value="123456" />
		<!-- 可以同时闲职在连接池中的连接的最大数目 -->
		<property name="maxIdle" value="10" />
		<!-- 最大激活连接数 -->
		<property name="maxActive" value="100" />
		<!-- 请求连接最常等待时间 -->
		<property name="maxWait" value="30" />
		<!-- 是否回收被遗弃的数据库连接到连接池中 -->
		<property name="removeAbandoned" value="true" />
	</bean>

	<!--定义了Hibernate的SessionFactory -->
	<bean id="sessionFactory"
		class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
		<!-- 为SessionFactory注入DataSource实例 -->
		<property name="dataSource" ref="dataSource" />
		<!-- 指定Hibernate的实体映射文件 -->
		<property name="mappingResources">
			<list>
				<value>classpath:org/demo/domain/</value>
			</list>
		</property>

		<!-- 指定Hibernate连接的系列属性 -->
		<property name="hibernateProperties">
			<props>
				<!-- 指定Hibernate连接数据库的连接方言 -->
				<prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop>
				<!-- 是否显示Hibernate产生的SQL语句 -->
				<prop key="show_sql">true</prop>
				<!-- 启动应用时,是否根据hbm文件创建数据表 -->
				<prop key="hibernate.hbm2ddl.auto">update</prop>
				<!-- 指定Hibernate持久化操作的批操作大小 -->
				<prop key="hibernate.jdbc.batch_size">20</prop>
			</props>
		</property>
	</bean>

	<!-- 配置事务管理器,使用Hibernate局部事务管理器策略 -->
	<bean id="transactionManager"
		class="org.springframework.orm.hibernate3.HibernateTransactionManager">
		<property name="sessionFactory" ref="sessionFactory" />
	</bean>

	<!-- 配置事务拦截器 -->
	<bean id="transactionInterceptor"
		class="org.springframework.transaction.interceptor.TransactionInterceptor">
		<!-- 事务拦截器bean需要依赖注入一个事务管理器 -->
		<property name="transactionManager" ref="transactionManager" />
		<property name="transactionAttributes">
			<!-- 下面定义事务传播属性 -->
			<props>
				<prop key="get*">PROPAGATION_REQUIRED,readOnly</prop>
				<prop key="*">PROPAGATION_REQUIRED</prop>
			</props>
		</property>
	</bean>

	<!-- 定义BeanNameAutoProxyCreator -->
	<bean
		class="org.springframework.aop.framework.autoproxy.BeanNameAutoProxyCreator">
		<!-- 指定对满足哪些bean name的bean自动生成业务代理 -->
		<property name="beanNames">
			<!-- 下面是所有需要自动创建事务代理的bean,此处可增加其他需要自动创建事务代理的bean -->
			<list>
				<value>demoService</value>
			</list>
		</property>
		<!-- 下面定义BeanNameAutoProxyCreator所需的事务拦截器 -->
		<property name="interceptorNames">
			<list>
				<!-- 此处可增加其他新的Interceptor -->
				<value>transactionInterceptor</value>
			</list>
		</property>
	</bean>

	<!-- 定义MailSender Bean,用于发送邮件 -->
	<bean id="mailSender" class="org.springframework.mail.javamail.JavaMailSenderImpl">
		<property name="host" value="smtp.163.com" />
		<property name="javaMailProperties">
			<props>
				<prop key="mail.smtp.auth">true</prop>
				<prop key="mail.smtp.timeout">25000</prop>
			</props>
		</property>
		<property name="username" value="username" />
		<property name="password" value="password" />
	</bean>

	<!-- 配置MailMessage Bean -->
	<bean id="mailMessage" class="org.springframework.mail.SimpleMailMessage">
		<property name="from" value="username@163.com" />
		<property name="subject" value="Demo" />
	</bean>
</beans

 

6. applicationContext-dao.xml

<?xml version="1.0" encoding="GBK"?>
<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.xsd">
	
	<bean id="daoTemplate" abstract="true">
		<property name="sessionFactory" ref="sessionFactory" />
	</bean>

	<bean id="demoDao" class="org.demo.dao.impl.DemoDaoImpl" parent="daoTemplate" />

	<!-- Dao工厂类 -->
	<bean id="daoManager" class="org.demo.dao.DaoManager">
		<property name="demoDao">
			<ref bean="demoDao" />
		</property>
	</bean>
	
</beans>

 

7. applicationContext-service.xml

<?xml version="1.0" encoding="GBK"?>
<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.xsd">
	
	<bean id="demoService" class="org.demo.service.impl.DemoServiceImpl" />
	
	<bean id="serviceManager" class="org.demo.service.ServiceManager">
		<property name="demoService">
			<ref bean="demoService" />
		</property>
	</bean>
	
</beans>

 

8. freemarker.properties

default_encoding=UTF-8
number_format=#
date_format=yyyy-MM-dd
time_format=HH:mm:ss
datetime_format=yyyy-MM-dd HH:mm:ss
auto_import=/common/page_macro.ftl as p

 

9. log4j.properties

log4j.rootLogger=INFO, CONSOLE, FILE

log4j.addivity.org.apache=true
log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
log4j.appender.Threshold=DEBUG
log4j.appender.CONSOLE.Target=System.out
log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
log4j.appender.CONSOLE.layout.ConversionPattern= %c %x - %m%n

log4j.appender.FILE=org.apache.log4j.DailyRollingFileAppender
log4j.appender.FILE.File=webapps/demo/WEB-INF/logs/file.log
log4j.appender.FILE.DatePattern=.yyyy-MM-dd
log4j.appender.FILE.layout=org.apache.log4j.PatternLayout
log4j.appender.FILE.layout.ConversionPattern=[DEMO] %d - %c -%-4r [%t] %-5p %c %x - %m%n 
分享到:
评论

相关推荐

    struts2 spring2 hibernate3整合源代码+jar包

    在Struts2、Spring2和Hibernate3的整合中,通常会利用Spring来管理Struts2的Action以及Hibernate的SessionFactory。Spring可以创建并注入Action实例,同时也可以负责SessionFactory的初始化,以便在Action中透明地...

    最新版本的Struts2+Spring4+Hibernate4框架整合

    整合使用最新版本的三大框架(即Struts2、Spring4和Hibernate4),搭建项目架构原型。 项目架构原型:Struts2.3.16 + Spring4.1.1 + Hibernate4.3.6。 此外,还有:log4j、slf4j、junit4、ehcache等知识点。 项目...

    Struts2 Spring2 Hibernate3 整合实例

    在提供的压缩包中,"Struts2 2.1.8.1Basic-Spring2.5.6.SEC01-Hibernate3-MySql5-NetBeans6.9.1"应该包含了完成这个整合实例所需的所有文件,包括源码、配置文件、数据库脚本等。使用NetBeans 6.9.1或导入到...

    struts2+spring+hibernate整合小案例

    这个"struts2+spring+hibernate整合小案例"是一个用于教学和实践的DEMO,旨在帮助开发者理解和掌握这三大框架的协同工作方式。 首先,Struts2作为MVC(模型-视图-控制器)架构的一部分,主要负责处理HTTP请求,提供...

    [轻量级Java_EE企业应用实战_Struts2_Spring3_Hibernate整合开发

    【轻量级Java_EE企业应用实战_Struts2_Spring3_Hibernate整合开发】这个主题主要涉及的是Java EE领域中的三大框架——Struts2、Spring3和Hibernate的集成应用,这是构建现代Java后端系统的一种常见方式。这些框架...

    struts2+spring+hibernate 整合的jar包

    Struts2、Spring和Hibernate是Java Web开发中的三大框架,它们的整合(SSH)极大地提升了开发效率和项目的可维护性。下面将详细讲解这三大框架的核心功能以及整合过程中的关键知识点。 1. **Struts2**:Struts2是一...

    struts2和spring和Hibernate整合的jar包

    Struts2、Spring和Hibernate是Java Web开发中的三大框架,它们各自解决应用程序的不同问题,而将这三者整合在一起可以构建高效、灵活的企业级应用。Struts2作为MVC(Model-View-Controller)框架,负责处理用户请求...

    struts2+spring4+hibernate

    Struts2、Spring4和Hibernate是Java开发中的三大框架,它们在构建企业级Web应用程序时起着核心作用。本教程将深入探讨这三个框架如何协同工作,以实现高效、灵活和可扩展的电子商务平台。 首先,Struts2是一个基于...

    Struts1+Spring2+Hibernate2整合详细例子

    整合Struts1、Spring2和Hibernate2的过程主要包括以下步骤: 1. **配置环境**:确保所有依赖库已添加到项目的类路径中,如struts-core.jar、spring-framework.jar和hibernate-core.jar等。 2. **配置Struts1**:...

    轻量级JavaEE企业应用实战_Struts2+Spring3+Hibernate整合开发_第3版.part1

    轻量级JavaEE企业应用实战_Struts2+Spring3+Hibernate整合开发_第3版.part1

    Struts 2+Spring 3+Hibernate框架技术精讲与整合案例2

    Struts 2+Spring 3+Hibernate框架技术精讲与整合案例2Struts 2+Spring 3+Hibernate框架技术精讲与整合案例2Struts 2+Spring 3+Hibernate框架技术精讲与整合案例2Struts 2+Spring 3+Hibernate框架技术精讲与整合案例2

    struts2整合Spring和hibernate案例

    Struts2、Spring和Hibernate是Java Web开发中的三大框架,它们各自在应用程序的不同层面发挥着重要作用。Struts2作为MVC(模型-视图-控制器)框架,负责处理请求和展示视图;Spring是一个全面的后端解决方案,提供...

    Struts2 Spring3 Hibernate3.3框架整合

    Struts2 Spring3 Hibernate3.3框架整合,增删改查,包含有数据库建表语句,包含有JAR包,包含有源代码。包含有事务的配置以及运用。使用的是Oracle的序列来提供的主键自增,建表和建立序列的sql语句,已经放在工程...

    轻量级JavaEE企业应用实战_Struts2+Spring3+Hibernate整合开发_第3版.part2

    轻量级JavaEE企业应用实战_Struts2+Spring3+Hibernate整合开发_第3版.part2

    轻量级JavaEE企业应用实战_Struts2+Spring3+Hibernate整合开发_第3版.part5

    轻量级JavaEE企业应用实战_Struts2+Spring3+Hibernate整合开发_第3版.part5

    最新项目系统:Struts2+Spring4+Hibernate4三大框架整合

    总的来说,"最新项目系统:Struts2+Spring4+Hibernate4三大框架整合"为学习和实践Java Web开发提供了一个实用的平台,对于提升开发者的技术水平和项目经验具有极大的帮助。通过深入研究和实践,开发者可以掌握Java ...

    MyClipse6.0\Struts2,Spring与Hibernate整合应用,学生成绩管理系统

    《Struts2、Spring与Hibernate整合应用:学生成绩管理系统》 在IT行业中,构建一个高效、稳定的Web应用程序常常需要整合不同的框架。本项目“学生成绩管理系统”就是基于Struts2、Spring和Hibernate三大主流Java ...

    struts2整合spring、hibernate的jar包

    3. **Hibernate整合**:Hibernate作为一个ORM框架,简化了Java对象与数据库表之间的交互。整合Hibernate需要引入`hibernate-core.jar`、`hibernate-entitymanager.jar`等jar包,通过Hibernate的Session和...

    Struts2,Spring与Hibernate整合应用,学生成绩管理系统

    ### Struts2、Spring与Hibernate整合应用:学生成绩管理系统 #### 一、知识点概览 本项目聚焦于Struts2、Spring与Hibernate三大框架的整合应用,旨在构建一个高效、稳定、易于维护的学生成绩管理系统。通过整合这...

Global site tag (gtag.js) - Google Analytics