流程:web服务器启动,读取web.xml,web.xml配置servlet启动webwork,同时管理启动spring并解析加载applicationContext*.xml,applicationContext*.xml管理ibatis的数据源,SqlMap工厂以及相应的声明式事务。
1.web.xml配置文件
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.4" 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">
<!--编码过滤器-->
<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>
<init-param>
<param-name>forceEncoding</param-name>
<param-value>true</param-value>
</init-param>
</filter>
<!--Spring服务部署配置文件 -->
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>
/WEB-INF/spring/applicationContext*.xml
</param-value>
</context-param>
<!--启动Spring-->
<listener>
<listener-class>
org.springframework.web.context.ContextLoaderListener
</listener-class>
</listener>
<!--启动WebWork-->
<servlet>
<servlet-name>webwork</servlet-name>
<servlet-class>
com.opensymphony.webwork.dispatcher.ServletDispatcher
</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>webwork</servlet-name>
<url-pattern>*.action</url-pattern>
</servlet-mapping>
</web-app>
2.Spring加载ibatis数据源 ApplicationContext_dataSource.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">
<beans>
<bean id="propertyConfigurer"
class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="locations">
<list>
<value>/WEB-INF/spring/mysqljdbc.properties</value>
</list>
</property>
<property name="fileEncoding">
<value>GBK</value>
</property>
</bean>
<!--数据源设置-->
<bean id="dataSource"
class="org.apache.commons.dbcp.BasicDataSource"
destroy-method="close">
<property name="driverClassName">
<value>${jdbc.driver}</value>
</property>
<property name="url">
<value>${jdbc.url}</value>
</property>
<property name="username">
<value>${jdbc.username}</value>
</property>
<property name="password">
<value>${jdbc.password}</value>
</property>
</bean>
</beans>
数据源的properties:
# Properties file with JDBC-related settings.
# Applied by PropertyPlaceholderConfigurer from "dataAccessContext-local.xml".
# Targeted at system administrators, to avoid touching the context XML files.
jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://127.0.0.1:3306/jlict?useUnicode=true&characterEncoding=GBK
jdbc.username=root
jdbc.password=root
3.ApplicationContext_ibatis.xml管理sqlMap工厂,方言
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">
<beans>
<!--ibatis设置-->
<bean id="sqlMapClient"
class="org.springframework.orm.ibatis.SqlMapClientFactoryBean">
<property name="configLocation">
<value>
classpath:cn\edu\jlict\common\sql\sql-map-config.xml
</value>
</property>
<property name="dataSource">
<ref bean="dataSource" />
</property>
</bean>
<bean id="sqlExecutor"
class="cn.edu.jlict.common.ibatis.LimitSqlExecutor">
<property name="dialect">
<bean class="cn.edu.jlict.common.ibatis.MySQLDialect" />
</property>
</bean>
<bean id="txBaseSqlMapDaoSpring"
class="cn.edu.jlict.common.ibatis.BaseDaoiBatis"
init-method="initialize">
<property name="sqlMapClient">
<ref bean="sqlMapClient" />
</property>
<property name="sqlExecutor">
<ref bean="sqlExecutor" />
</property>
</bean>
</beans>
4.声明式事务
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">
<beans>
<!--Ibatis事务处理-->
<bean id="transactionManagerIbatis"
class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<property name="dataSource">
<ref bean="dataSource" />
</property>
</bean>
<!-- 利用spring的TransactionProxyFactoryBean去对事务进行自动管理 -->
<bean id="txProxyTemplateIbatis" abstract="true"
class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean">
<property name="transactionManager">
<ref local="transactionManagerIbatis" />
</property>
<property name="transactionAttributes">
<props>
<prop key="save*">PROPAGATION_REQUIRED,-Exception</prop>
<prop key="update*">
PROPAGATION_REQUIRED,-Exception
</prop>
<prop key="insert*">
PROPAGATION_REQUIRED,-Exception
</prop>
<prop key="get*">PROPAGATION_REQUIRED,readOnly</prop>
<prop key="list*">PROPAGATION_REQUIRED,readOnly</prop>
<prop key="delete*">
PROPAGATION_REQUIRED,-Exception
</prop>
<prop key="remove*">
PROPAGATION_REQUIRED,-Exception
</prop>
</props>
</property>
</bean>
</beans>
5.webwork.properties没有这个文件spring不能管理action
webwork.locale=zh_CN
webwork.i18n.encoding=UTF-8
#webwork.multipart.parser=pell
#webwork.multipart.saveDir=E:\\hdkwOA\\exploded\\admin\\temp
#webwork.multipart.saveDir=/usr/local/jakarta-tomcat-4.0.6/webapps/hdkwOA/admin/temp
#webwork.multipart.maxSize=12345
webwork.configuration.xml.reload=true
webwork.objectFactory = spring
6.IOC dao层
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">
<beans>
<!-- 会员Dao定义 -->
<bean id="jmemberDao" class="cn.edu.jlict.member.dao.impl.JmemberDaoImpl">
<property name="sqlMapClient">
<ref bean="sqlMapClient"/>
</property>
</bean>
</beans>
总结:调试了很多BUG之后才出来了这篇文章,要自己牢记:1.切要细心 2.编译器提示错误问题后要耐心调试。
分享到:
相关推荐
WebWork、Spring 和 iBATIS 是三个非常重要的Java Web开发框架,它们的组合为初学者提供了丰富的学习资源。WebWork 是一个MVC(Model-View-Controller)框架,Spring 是一个全面的后端开发框架,而 iBATIS 是一个...
webwork+Spring+ibatis 此为webwork+Spring+ibatis+freemarker 源码实例 因为包大,只好分开。。请一并下载webwork+Spring+ibatis_lib放入些实例中,,才能运行! 解压后,请参考mark.txt文件操作,即可!
个关于freemarker+webwork+spring+ibatis的demo文档
在IT行业中,Web开发是一个广泛讨论的话题,而`webwork`、`spring`和`ibatis`是构建高效、灵活的Web应用的三大组件。这个"webwork+spring+ibatis简单实例"提供了如何整合这三个框架来创建一个功能完整的应用程序的...
在IT领域,Web开发是一个重要的组成部分,而"webwork+spring+ibatis"是一个常见的技术栈,用于构建高效、灵活的Web应用程序。这个小例子旨在帮助初学者理解这三种技术如何协同工作,以及如何整合它们以实现MVC(模型...
WebWork+Spring+iBatis+Sitemesh是一个经典的Java Web应用程序开发框架组合,它们各自承担着不同的职责,共同构建了一个高效、灵活且可维护的Web应用系统。下面将详细介绍这四个组件及其在开发中的作用。 1. **...
WebWork、Spring和iBatis是Java开发中的三个重要框架,它们在构建企业级Web应用程序时发挥着关键作用。WebWork是一个轻量级的MVC(Model-View-Controller)框架,Spring则是一个全面的后端开发框架,而iBatis则是一...
【标题】"WebWork+Spring+Ibatis+Velocity实例"是一个综合性的开发示例,它展示了这四个技术在实际Web应用程序中的集成与应用。WebWork是早期的一个MVC(Model-View-Controller)框架,提供了丰富的动作调度和数据...
《WebWork + Spring + iBatis 注解培训文档》 在现代Java Web开发中,WebWork、Spring和iBatis是三个重要的框架,它们分别在MVC架构、依赖注入和数据库操作方面扮演着核心角色。结合注解的使用,这三个框架能够实现...
### Spring+WebWork+iBatis 组合实例详解 #### 一、概述 在Java Web开发领域,Spring、WebWork与iBatis是三个非常重要的框架。本篇将结合具体的配置文件来详细介绍这三个框架是如何协同工作的,以及它们各自在项目...
在Java企业级开发中,WebWork、Spring和iBatis是三个非常重要的框架。WebWork是一个轻量级的MVC(Model-View-Controller)框架,Spring是一个全面的后端应用框架,而iBatis则是一个优秀的持久层框架,它们的结合使用...
【veloctiy+webwork+ibatis+spring资料】这套学习资源主要涵盖了四个在Java Web开发领域中常用的技术框架:Velocity、WebWork、iBATIS和Spring。这四大框架各有其独特功能,组合使用可以构建出高效、灵活的业务应用...
### Spring+Ibatis+WebWork框架搭配详解 在软件开发领域,选择合适的开发框架对于项目的成功至关重要。本文将深入探讨如何结合使用Spring、Ibatis(现称为MyBatis)以及WebWork这三个流行的Java开发框架来构建高效...
在"WEBWORK+IBATIS+SPRING"的组合中,WEBWORK处理HTTP请求,执行业务逻辑,IBATIS负责与数据库交互,而SPRING作为整个系统的胶水,管理依赖、提供AOP和事务管理。这样的架构允许开发者充分利用每个框架的优点,构建...
【webwork+ibatis+spring oracle c3p0 集成框架】 WebWork、iBatis、Spring 和 Oracle C3P0 是四个在企业级Java应用开发中常用的组件,它们各自扮演着不同的角色,而将它们集成在一起可以构建一个高效、灵活且可...
【标题】"Spring+WebWork+Ibatis"整合框架详解 在现代Web应用程序开发中,框架的集成使用能够显著提高开发效率和代码质量。"Spring+WebWork+Ibatis"是一个经典的组合,它将Spring的强大功能、WebWork的轻量级MVC...
标题中的"Spring+iBatis+WebWork+Oracle"是一个经典的Java Web开发技术组合,用于构建高效、可扩展的Web应用程序。下面将详细解释这四个组件及其在开发中的作用。 1. **Spring框架**:Spring是Java领域的一个核心...
Struts、Spring和iBatis是Java开发领域中三大经典的开源框架,它们分别负责MVC模式中的动作控制、依赖注入以及数据库操作。这个"struts+spring+ibatis的Demo"压缩包文件提供了这三个框架集成使用的示例代码,旨在...