然后是 spring的配置了,请在web-lib/下建立applicationContext.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="dataSource"
class="org.springframework.jdbc.datasource.DriverManagerDataSource"
destroy-method="close">
<property name="driverClassName">
<value>org.gjt.mm.mysql.Driver</value>
</property>
<property name="url">
<value>jdbc:mysql://localhost/mystructs</value>
</property>
<property name="username">
<value>chenzhi</value>
</property>
<property name="password">
<value>1</value>
</property>
</bean>
<bean id="sessionFactory"
class="org.springframework.orm.hibernate.LocalSessionFactoryBean">
<property name="dataSource">
<ref local="dataSource" />
</property>
<property name="mappingResources">
<list>
<value>com\cz\struct\SysTable.hbm.xml</value>
</list>
</property>
<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">
net.sf.hibernate.dialect.MySQLDialect
</prop>
<prop key="hibernate.show_sql">
true
</prop>
</props>
</property>
</bean>
<bean id="transactionManager"
class="org.springframework.orm.hibernate.HibernateTransactionManager">
<property name="sessionFactory">
<ref local="sessionFactory" />
</property>
</bean>
<bean id="systableDAO" class="com.cz.struct.SysTableDAOImp">
<property name="sessionFactory">
<ref local="sessionFactory" />
</property>
</bean>
<bean id="systableDAOProxy"
class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean">
<property name="transactionManager">
<ref bean="transactionManager" />
</property>
<property name="target">
<ref local="systableDAO" />
</property>
<property name="transactionAttributes">
<props>
<prop key="insert*">PROPAGATION_REQUIRED</prop>
<prop key="get*">PROPAGATION_REQUIRED,readOnly</prop>
<prop key="is*">PROPAGATION_REQUIRED,readOnly</prop>
</props>
</property>
</bean>
</beans>
在这个配置文件里面,我们设置了datasource\sessionfactory以及spring的动态代理,还有hibernate所需要的XML映射文件路径
然后是配置xwork.xml
<!DOCTYPE xwork PUBLIC "-//OpenSymphony Group//XWork 1.0//EN" "http://www.opensymphony.com/xwork/xwork-1.0.dtd">
<xwork>
<include file="webwork-default.xml" />
<package name="default" extends="webwork-default"
externalReferenceResolver="com.atlassian.xwork.ext.SpringServletContextReferenceResolver">
<interceptors>
<interceptor name="reference-resolver"
class="com.opensymphony.xwork.interceptor.ExternalReferencesInterceptor" />
<interceptor-stack name="vxStack">
<interceptor-ref name="params" />
<interceptor-ref name="model-driven" />
<interceptor-ref name="reference-resolver" />
</interceptor-stack>
</interceptors>
<action name="Test" class="com.cz.struct.TestAction">
<external-ref name="systableDAO">systableDAOProxy</external-ref>
<result name="success" type="dispatcher">
<param name="location">/index.jsp</param>
</result>
<interceptor-ref name="vxStack" />
</action>
</package>
</xwork>
在配置action的external-ref的时候我遇到了一个不大不小的玩笑,一般编辑XML的时候我都是在editplus里面编辑的
,最开始我写成
<external-ref name="systableDAO">
systableDAOProxy
</external-ref>
结果系统提示找不到叫systableDAOProxy这个名字的bean,结果一查,发现旁边不能加上空格和tab,哎。。肯定是返回串的时候没加trim
的后果
好了,最后是我们的TestAction.java
package com.cz.struct;
import com.opensymphony.xwork.*;
import com.opensymphony.webwork.*;
import java.util.*;
/**
* @author tijichen
*
* TODO To change the template for this generated type comment go to
* Window - Preferences - Java - Code Style - Code Templates
*/
public class TestAction extends ActionSupport
{
private SystableDAO systabledao;
String testname=null;
public void setSystableDAO(SystableDAO dao)
{
this.systabledao=dao;
}
public SystableDAO getSystableDAO()
{return this.systabledao;}
public String execute() throws Exception {
testname="executeing";
SystablePK pk=new SystablePK();
Systable newdata=new Systable();
pk.setFieldName("test");
pk.setTableName("test3");
newdata.setComp_id(pk);
newdata.setChineseName("tets");
systabledao.insert(newdata);
return Action.SUCCESS;
}
}
ok,编译打包,然后在浏览器地址栏中输入http://localhost:8080/你的发布目录/Test.action
看看,是不是数据库里面多出了一条数据了?
至于其他,比如从页面提交的值插入数据库等等,这里都不多说了,webwork自带的sample就是最好的参考资料
作者Blog:http://blog.csdn.net/tijichen/
分享到:
相关推荐
2. **Spring框架入门**:介绍Spring容器、依赖注入、AOP和事务管理,以及如何配置和集成Webwork2。 3. **Ibatis实战**:学习配置XML映射文件,编写动态SQL,以及与Spring的集成,实现DAO层的开发。 4. **Hibernate...
- `webwork2开发指南.pdf`则是针对WebWork框架的指导手册,帮助理解WebWork的设计原理和用法。 通过以上文档,你可以系统地学习Struts2和WebWork的基本概念、核心组件以及实际应用。在掌握这两个框架的基础上,...
"Hibernate 3.2 中文参考文档.chm"包含了Hibernate的详细使用指南,包括实体类定义、配置文件、查询语言HQL以及事务管理等内容。通过学习,开发者可以有效地避免编写大量的JDBC代码,提高开发效率。 这四个框架相互...
不用多说了,Struts 2权威指南--基于WebWork核心的MVC开发(高清完整版),解压出来有200多M,因为权限不怎么够,我一共分了12卷,是一本不可多得的好书。第一卷附目录: 第1章 Struts 2概述,第2章 Struts 2下的Hello...
- **OpenDocSeries** 提供了一系列与 **WebWork2** 相关的技术文档,例如 **Spring 开发指南**、**Hibernate 开发指南** 等,这为开发者提供了丰富的资源。 ### 2. 快速入门 #### 准备工作 - 首先需要下载最新的 *...
8. **插件和集成**:介绍Struts 2与其他开源技术(如Spring、Hibernate)的集成,以及使用插件扩展Struts 2功能。 9. **最佳实践和性能优化**:提供实际项目中的一些最佳实践,以及如何优化Struts 2应用的性能。 ...
Struts2指南,基于WebWork核心的MVC开发,包括PDF文档和以下示例: Myeclipse平台struts hibernate spring项目开发示例 Struts Spring Hibernate快速入门 Struts Spring Hibernate练习 史上最简单的struts ...
Spring 开发指南是一份详尽的中文文档,旨在引导开发者入门并深入理解 Spring 框架。Spring 是一个广泛应用的开源 Java 框架,尤其在企业级应用开发中占据核心地位。它主要以其依赖注入(Dependency Injection,DI)...
- **目的**: 通过简单的HelloWorld示例快速入门WebWork。 - **步骤**: - 创建Web项目。 - 添加WebWork的依赖库至项目中。 - 配置`web.xml`文件, 注册Servlet控制器。 - 定义Action类, 实现业务逻辑。 - 配置`...
1. **官方文档**:Struts2的官方网站提供了详细的官方文档,包括快速入门指南、API文档和常见问题解答,是学习Struts2的第一手资料。 2. **在线教程**:互联网上有大量的Struts2教程,从基础到进阶,覆盖了Struts2的...
#### 二、Struts2入门指南 - **环境搭建**:安装和配置必要的开发工具,如Java JDK、Apache Tomcat服务器、Eclipse IDE等。 - **第一个Struts2应用**:通过创建简单的“Hello World”应用,熟悉Struts2的基本配置和...
此外,课件可能还会涉及Webwork与其他技术的集成,如Spring、Hibernate等,这对于构建大型企业级应用至关重要。 在实际应用中,Webwork的强项在于其灵活性和可扩展性。它的MVC架构使得开发者能够清晰地分离业务逻辑...
《Hibernate Quickly》是一本专注于Java领域中的Hibernate框架的入门书籍,由Patrick Peak和Nick Heudecker共同撰写。这本书旨在帮助读者快速掌握Hibernate的核心概念和技术,是Java教程类标签下的一个优秀资源。 #...
#### 二、Struts2入门指南 - **适用人群**: - 适合初学者快速掌握Struts2的核心概念与基本用法。 - 对于希望深入了解Struts2内部机制的开发者来说,本书可能不够深入。 - **主要内容**: - **Struts2体系结构*...
- **第14章至第19章整合其他框架**:分别讲述了Struts2与其他流行框架(如Spring、JSF、SiteMesh、JasperReports、JFreeChart、Hibernate)的整合方法,扩展了Struts2的功能范围。 - **第20章至第21章案例分析**:...
- Struts2有一个强大的插件系统,可以轻松集成其他框架,如Hibernate、Spring等。 6. **Struts2的安全性** - 由于历史上的安全漏洞,如著名的S2-013和S2-045,开发者必须保持Struts2库的更新,以防止潜在的安全...