`
- 浏览:
87765 次
- 性别:
- 来自:
j江苏
-
1.集成Spring和Hiberante
<?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-2.5.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-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
">
<!-- 配置数据源 -->
<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/test?useUnicode=true&characterEncoding=utf-8"/>
<property name="username" value="root"/>
<property name="password" value=""/>
<!-- 连接池启动时的初始值 -->
<property name="initialSize" value="1"/>
<!-- 连接池的最大值 -->
<property name="maxActive" value="500"/>
<!-- 最大空闲值.当经过一个高峰时间后,连接池可以慢慢将已经用不到的连接慢慢释放一部分,一直减少到maxIdle为止 -->
<property name="maxIdle" value="2"/>
<!-- 最小空闲值.当空闲的连接数少于阀值时,连接池就会预申请去一些连接,以免洪峰来时来不及申请 -->
<property name="minIdle" value="1"/>
</bean>
<!-- 配置hibernate的sessionFactory -->
<bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="dataSource"><ref bean="dataSource" /></property>
<property name="mappingResources">
<list>
<value>com/persia/model/Person.hbm.xml</value>
</list>
</property>
<!-- 1.首先在sessionFactory里面配置以上3条设置 -->
<!-- 2.然后得在类路径下面添加一个ehcache.xml的缓存配置文件 -->
<!-- 3.最后在要使用缓存的实体bean的映射文件里面配置缓存设置 -->
<!--使用二级缓存-->
<!-- 不使用查询缓存,因为命中率不是很高 -->
<!-- 使用Ehcache缓存产品 -->
<property name="hibernateProperties">
<value>
hibernate.dialect=org.hibernate.dialect.MySQL5Dialect
hibernate.hbm2ddl.auto=update
hibernate.show_sql=false
hibernate.format_sql=false
hibernate.cache.use_second_level_cache=true
hibernate.cache.use_query_cache=false
hibernate.cache.provider_class=org.hibernate.cache.EhCacheProvider
</value>
</property>
</bean>
<!-- 配置Spring针对hibernate的事务管理器 -->
<bean id="txManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">
<property name="sessionFactory" ref="sessionFactory"/>
</bean>
<!-- 配置使用注解的方式来使用事务 -->
<tx:annotation-driven transaction-manager="txManager"/>
<!-- 使用手工配置的注解方式来注入bean -->
<context:annotation-config></context:annotation-config>
<!--定义要注入的业务bean -->
<bean id="personService" class="com.persia.service.impl.PersonServiceImpl"></bean>
<!--注入Struts 2的action -->
<bean id="personList" class="com.persia.struts2.action.PersonListAction"></bean>
</beans>2.集成Struts2
(1)引入jar包
(2)配置web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5"
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">
<!--1.指定spring的配置文件,默认从web的根目录开始查找,可以通过spring提供的classpath前缀来配置从类路径开始查找 -->
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:applicationContext.xml</param-value>
</context-param>
<!--2.对Spring容器进行实例化 -->
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<!--以上 2个步骤即实现了在web容器中实例化spring容器的配置,实例化后放到servletContext里面(Application级别)-->
<!--以下是由Spring提供的filter来解决Struts乱码问题 -->
<filter>
<filter-name>encoding</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>encoding</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<!-- 解决乱码 -->
<!-- 使用Spring解决Hiberante因session关闭导致的延迟例外问题 -->
<filter>
<filter-name>OpenSessionInViewFilter</filter-name>
<filter-class>org.springframework.orm.hibernate3.support.OpenSessionInViewFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>OpenSessionInViewFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<!-- 解决延迟加载例外问题 -->
<!-- 配置Struts2,默认的配置文件为类路径下的struts.xml-->
<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>
</filter-mapping>
<!-- 配置Struts2 -->
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
</web-app>
(3)配置struts.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>
<!--指定web应用的默认编码集,相当于调用HttpServletRequest的setCharacterEncoding方法-->
<constant name="struts.i18n.encoding" value="UTF-8"></constant>
<!--该属性指定需要Struts 2处理的请求后缀,该属性的默认值是action,即所有匹配*.action的请求都由Struts 2处理
如果用户需要制定多个请求后缀,则多个后缀之间以英文逗号隔开-->
<constant name="struts.action.extension" value="do"></constant>
<!--设置浏览器是否缓存静态内容,默认值为true,生产环境下使用,开发阶段最好关闭 -->
<constant name="struts.serve.static.browserCache" value="false"></constant>
<!--当struts的配置文件修改后,系统是否自动重新加载该文件,默认值为false,生产环境下使用,开发阶段最好打开 -->
<constant name="struts.configuration.xml.reload" value="true"></constant>
<!--开发模式下使用,可以打印出更详细的错误信息 -->
<constant name="struts.devMode" value="true" />
<constant name="struts.enable.DynamicMethodInvocation" value="false" />
<!-- 默认的视图主题 -->
<constant name="struts.ui.theme" value="simple"></constant>
<!--Struts2集成Spring:所有action对象有Spring来负责创建-->
<constant name="struts.objectFactory" value="spring"></constant>
<!-- Add packages here -->
<package name="person" namespace="/person" extends="struts-default">
<global-results>
<result name="message">/WEB-INF/page/message.jsp</result>
</global-results>
<!--下面的class为在Spring中配置的action的名称 -->
<action name="action_*" class="personList" method="{1}">
<result name="list">/WEB-INF/page/personlist.jsp </result>
<result name="add">/WEB-INF/page/add_person.jsp </result>
<result name="edit">/WEB-INF/page/edit_person.jsp </result>
</action>
</package>
</struts>
分享到:
Global site tag (gtag.js) - Google Analytics
相关推荐
在SSH整合中,Spring主要负责控制层和业务层的管理工作,如Bean的生命周期管理和事务处理。 Struts是基于MVC设计模式的Web应用框架,它将业务逻辑、表示逻辑和数据访问逻辑分离,使开发人员可以更专注于每一部分的...
下面将详细介绍SSH整合所需的关键jar包以及它们在整合过程中的作用。 1. **Struts2框架**:Struts2作为MVC(模型-视图-控制器)架构的一部分,主要用于处理用户请求和控制应用流程。在SSH整合中,Struts2的核心jar...
1. 添加SSH相关jar包到项目的类路径,确保所有依赖都已到位。 2. 配置Spring,包括bean定义、事务管理、数据源等。 3. 配置Struts,定义Action类、ActionForm、结果转发等。 4. 配置Hibernate,包括数据库连接、实体...
SSH整合所需的jar包主要包括以下几个部分: 1. **Spring框架**: - spring-context:提供核心容器,是其他所有模块的基础,定义了Bean工厂和应用上下文。 - spring-aop:支持面向切面编程(AOP)。 - spring-...
在这个"ssh整合jar包"中,包含了这三个框架的核心库和其他必要的依赖,以便开发者在构建Web应用程序时能够快速集成和使用。 首先,Struts2是一个基于MVC设计模式的Java Web框架,它为应用提供了强大的请求处理和...
SSH整合jar包是一个集合了所有在Java开发中用于Spring、Struts和Hibernate(SSH)集成应用所需的库文件的压缩包。SSH是Java企业级开发中非常流行的一种框架组合,它能够帮助开发者快速构建高效、可维护的企业级Web...
以下是关于SSH整合所需jar包的详细解释: 1. **Spring框架**: - Spring的核心库提供了依赖注入(DI)和面向切面编程(AOP)功能。主要的jar包包括`spring-core.jar`、`spring-context.jar`、`spring-beans.jar`、...
在给定的"SSH整合的jar包.zip"压缩文件中,包含了一系列用于整合这三个框架所需的库文件。这些jar包是SSH整合的基础,直接添加到项目中可以快速搭建一个支持SSH的开发环境。 数据库连接方面,文件列表提到了"mysql-...
在SSH整合中,我们需要在Spring配置文件中声明Struts2的Action、Hibernate的数据源、SessionFactory以及Service层组件。同时,使用Spring的AOP功能实现事务控制,通过Struts2的插件连接Struts2和Spring,使Action...
本文将详细介绍SSH整合所需的jar包以及它们的作用。 首先,我们来看"ssh2整合所需jar包(完整版)"这一部分。SSH2指的是Spring 2.x、Struts 2.x和Hibernate 2.x或更高版本的组合。以下是一些关键的jar包及其功能: ...
通过这些jar包,开发者可以构建一个完整的SSH整合环境,实现从用户界面到数据存储的全面控制。然而,实际开发中还需要配置相应的XML文件(如Spring的bean定义和Struts2的配置),以及编写业务逻辑和服务接口。整合...
下面将详细介绍SSH框架整合所需的jar包以及它们在项目中的作用。 1. **Spring框架**: - spring-beans.jar:包含Spring的核心容器,提供了Bean的定义、配置、初始化、管理等功能。 - spring-context.jar:提供上...
SSH是三个流行Java Web开发框架的缩写,包括Spring、Struts和Hibernate。这些框架分别负责应用程序的依赖...通过合理的配置和jar包的使用,我们可以实现SSH框架与Oracle数据库的无缝对接,提高开发效率并降低维护成本。
在搭建SSH整合环境时,你需要以下关键的jar包: - Spring框架的相关jar包:spring-core、spring-beans、spring-context、spring-web、spring-webmvc、spring-tx等,用于提供Spring框架的基本功能和扩展。 - ...
确保这些jar包正确引入项目并排除版本冲突,是SSH整合成功的关键。 对于初学者来说,理解每个框架的角色以及如何协同工作至关重要。同时,正确配置各框架的XML配置文件,掌握Maven或Gradle等构建工具管理依赖,也是...
在SSH整合中,Spring主要负责管理其他组件,如Struts和Hibernate,以及应用程序中的业务逻辑和服务。 1. **依赖注入**:Spring通过XML配置或注解方式实现对象间的依赖关系,使得代码更易于测试和维护。 2. **AOP**...