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

flex3+struts 1.3+spring+ibatis 2.x整合代码实例

阅读更多

原创整理不易,转载请注明出处:flex3+struts 1.3+spring+ibatis 2.x整合代码实例

代码下载地址:http://www.zuidaima.com/share/1778657261997056.htm

经过两天工作闲余时间的奋战,终于flex3+struts 1.3+spring +ibatis 2.x 整合成功,下面介绍下详细的步骤和核心代码:
IDE:myeclipse
(当然:前提是FLEX+java整合成功的情况下,关于flex+java整合的文章就比较多,google下就OK):
1.成功整合FLEX+JAVA后,右键单击项目选择 MyEclipse---》add struts(添加STRUTS比较简单这里就不多说了),下面贴代码:
(1)

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.3//EN" "http://struts.apache.org/dtds/struts-config_1_3.dtd">
<struts-config>
  <form-beans />
  <global-exceptions />
  <action-mappings >
    <action 
    path="/user" 
    type="com.yinhai.struts.action.UserAction" 
     scope="request"
   >
    <forward name="sucess" path="/index.jsp" />
    </action>
  </action-mappings>
</struts-config>

在web-info下的struts-config.xml中添加如上代码
(2)UserAction

package com.zuidaima.struts.action;

import java.io.IOException;
import java.io.PrintWriter;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.util.List;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import model.User;

import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import org.springframework.beans.factory.BeanFactory;
import org.springframework.context.support.ClassPathXmlApplicationContext;

import dao.ContextHelper;
import dao.UserDaoImpl;

/** 
* MyEclipse Struts
* Creation date: 08-05-2009
* 
* XDoclet definition:
* @struts.action parameter="method" validate="true"
* @struts.action-forward name="fail" path="/fail.jsp"
* @struts.action-forward name="sucess" path="/sucess.jsp"
*/
public class UserAction extends Action  {
	/*
	* Generated Methods
	*/

	/** 
	* Method execute
	* @param mapping
	* @param form
	* @param request
	* @param response
	* @return ActionForward
	* @throws IOException 
	*/
	public ActionForward execute(ActionMapping mapping, ActionForm form,
	HttpServletRequest request, HttpServletResponse response)  {
		//        ClassPathXmlApplicationContext ctxss = new ClassPathXmlApplicationContext("applicationContext.xml");
		//        BeanFactory ctx=(BeanFactory)ctxss; 
		//       UserDaoImpl um = (UserDaoImpl) ctx.getBean("userDao"); 
		UserDaoImpl um =(UserDaoImpl)ContextHelper.getContext().getBean("userDao");
		List users = um.getUsers(); 
		User user=null;
		String xml="<?xml version=\"1.0\" encoding=\"utf-8\"?><users>";
		for(int i=0;i<users.size();i++){
		user=(User)users.get(i);
		xml=xml+"<user>"+
		"<usernumber>"+user.getUsernumber()+"</usernumber>" +
		"<name>"+user.getName()+"</name>"+
		"<password>"+user.getPassword()+"</password>"+
		"</user>";
		}
		xml=xml+"</users>";
		System.out.println(xml);
		PrintWriter p = null;
		try {
		//            p=response.getWriter();
		response.getWriter().write(xml);

		} catch (Exception e) {
		// TODO Auto-generated catch block
		e.printStackTrace();
		}
		//p.write(xml);
		//        p.print("<?xml version=\"1.0\" encoding=\"utf-8\"?><users><user><usernumber>1</usernumber><name>caicai</name><password>dddddd</password></user><user><usernumber>2</usernumber><name>yingying</name><password>dddddd</password></user><user><usernumber>3</usernumber><name>ceshi</name><password>dddddd</password></user><user><usernumber>4</usernumber><name>ceshi</name><password>dddddd</password></user>");
		//        p.close();

		return null;
	}


(3)获取bean的工具类

package dao;

import org.springframework.context.support.ClassPathXmlApplicationContext;

/**
 * Date: 2008-3-20 Time: 17:28:48 To change this template use File | Settings |
 * File Templates.
 */
public class ContextHelper {
    private static ClassPathXmlApplicationContext _ctx;

    static {
        _ctx = new ClassPathXmlApplicationContext("/applicationContext.xml");
    }

    public static ClassPathXmlApplicationContext getContext() {
        return _ctx;
    }
    
}


2.添加SRPING
右键单击项目选择 MyEclipse---》add spring
spring的配置文件

<?xml version=" 1.0 " encoding=" UTF-8 " ?> 
 <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-2.0.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 " /> 
 <property name=" username " value=" root " /> 
 <property name=" password " value=" root " /> 
 </bean> 

 <bean id=" sqlMapClient " class=" org.springframework.orm.ibatis.SqlMapClientFactoryBean "> 
 <property name=" configLocation " value=" sqlmap-config.xml " /> 
 <property name=" dataSource " ref=" dataSource " /> 
 </bean> 
 <bean id=" userDao " class=" dao.UserDaoImpl "> 
 <property name=" sqlMapClient " ref= " sqlMapClient " /> 
 </bean> 

 </beans>


(3)添加IBATIS
首先将ibatis的JAR包导入,放在LIB下即可
IBTIS配置文件
sqlmapconfig.xml

<?xml version=" 1.0 " encoding=" UTF-8 " ?> 

 <! DOCTYPE sqlMapConfig 
 PUBLIC " -//ibatis.apache.org//DTD SQL Map Config 2.0//EN " 
 " http://ibatis.apache.org/dtd/sql-map-config-2.dtd "> 

 <sqlMapConfig> 

 <!-- Configure a built - in transaction manager. If you ' re using an 
 app server, you probably want to use its transaction manager 
 and a managed datasource --> 

 <!-- List the SQL Map XML files. They can be loaded from the 
 classpath, as they are here (com.domain.data) --> 
 <sqlMap resource=" dao/User.xml " /> 
 <!-- List more here
 <sqlMap resource=" com/mydomain/data/Order.xml " /> 
 <sqlMap resource= " com/mydomain/data/Documents.xml " /> 
 -->
 </sqlMapConfig> 

User.xml

<?xml version=" 1.0 " encoding=" UTF-8 " ?> 

 <! DOCTYPE sqlMap 
 PUBLIC " -//ibatis.apache.org//DTD SQL Map 2.0//EN " 
 " http://ibatis.apache.org/dtd/sql-map-2.dtd "> 

 <sqlMap namespace=" User "> 

 <!-- Use type aliases to avoid typing the full classname every time. --> 
 <typeAlias alias=" user " type=" model.User " /> 

 <!-- Select with no parameters using the result map for Account class . --> 
 <select id=" getUsers " resultClass= " user "> 
 select * from user;
 </select>
 </sqlMap>


注意:User.xml一定要和相应的DAO的实现类放一个包下
4.FLEX文件

<?xml version=" 1.0 " encoding=" utf-8 " ?> 
 <mx:Application xmlns:mx=" http://www.adobe.com/2006/mxml " layout=" absolute "> 
 <mx:Script> 
 <! [CDATA[
 import mx.rpc.events.FaultEvent;
 import mx.controls.Alert;
 import mx.rpc.events.ResultEvent;
 import mx.controls.DataGrid;
 [Bindable]
 public var gridXml:XML;
 public function httpHandler(event:ResultEvent): void {
 Alert.show("hello2");
 gridXml=XML(event.result);
 
 griddata.dataProvider=gridXml.children();//XMLList
 }
 public function initHandler(): void {
 testHttp.url="http://localhost:8080/LCSYS/user.do";
 Alert.show("hello1");
 testHttp.send();
 
 }
 public function httpFail(event:FaultEvent): void {
 Alert.show("调用失败");
 Alert.show(event.message.toString());
 }
 ]]> 
 </mx:Script> 
 <mx:HTTPService id=" testHttp " result=" httpHandler(event) " fault=" httpFail(event) " resultFormat=" e4x " /> 
 <mx:Panel x=" " y=" " width=" " height=" " layout=" absolute " id=" userPannel " title=" userPannel1 "> 
 <mx:DataGrid x=" " y=" " width=" 100% " height=" 100% " id=" griddata "> 
 <mx:columns> 

 <mx:DataGridColumn dataField=" usernumber " headerText=" usernumber " /> 
 <mx:DataGridColumn dataField=" name " headerText=" name " /> 
 <mx:DataGridColumn dataField=" password " headerText=" password " /> 
 
 </mx:columns> 
 </mx:DataGrid> 
 <mx:ControlBar height=" " y=" "> 
 <mx:Button label=" 查询人员列表 " click= " initHandler() " /> 
 </mx:ControlBar> 
 </mx:Panel> 
 </mx:Application> 


5.其他文件:
工具类,解决乱码

package dao;

 import java.io.UnsupportedEncodingException;

 import org.springframework.context.support.ClassPathXmlApplicationContext;

 public class Tool {
 public static String change(String str){
 String str2;
 try {
 str2=new String(str.getBytes("iso-8859-1"),"UTF-8"); 
 return str2;
 } catch (UnsupportedEncodingException e) {
 // TODO Auto-generated catch block
 e.printStackTrace();
 }
 return null;
 
 }
 
}

userDaoImpl

package dao;

 import java.util.List;

 import org.springframework.orm.ibatis.support.SqlMapClientDaoSupport;

 public class UserDaoImpl extends SqlMapClientDaoSupport implements UserDao {

 public List getUsers() {
 // TODO Auto-generated method stub
 return this.getSqlMapClientTemplate().queryForList("getUsers");
 }

}

时间关系,介绍得比较粗糙也没撒说明,不过只要对框架较熟悉的应该很快能搭建起环境
本文章主要是集成框架介绍

注意:需要IBATIS的JAR吧,dbcp连接池的包,还有相应的驱动包

1
2
分享到:
评论

相关推荐

    Ibatis2.3+Struts1.3+Spring2.5 整合实例代码

    本示例代码涉及的是一个经典的技术栈:Ibatis2.3、Struts1.3和Spring2.5的整合。这三个框架各自都有其独特的功能和优点,组合在一起能够提供灵活的数据访问、高效的MVC架构以及全面的应用管理。 Ibatis,作为一款轻...

    spring+struts2+ibatis整合的jar包

    在Java Web开发中,Spring、Struts2和iBatis是三个非常重要的框架,它们各自在不同的层面上提供了强大的功能。Spring是一个全面的后端应用框架,提供了依赖注入(DI)、面向切面编程(AOP)、事务管理等功能;Struts...

    struts2+hibernate+spring+ibatis 小实例

    struts2+hibernate+spring+ibatis 小实例struts2+hibernate+spring+ibatis 小实例struts2+hibernate+spring+ibatis 小实例struts2+hibernate+spring+ibatis 小实例struts2+hibernate+spring+ibatis 小实例struts2+...

    struts2+spring3+ibatis项目整合案例

    在这个“struts2+spring3+ibatis项目整合案例”中,我们将深入探讨这三个框架如何相互配合,实现项目的集成。 Struts2作为MVC(Model-View-Controller)架构的实现,主要负责处理用户请求,控制应用的流程。它提供...

    flex+spring+struts2+ibatis 整合的eclipse工程

    flex+spring+struts2+ibatis 整合的eclipse工程,可以导入eclipse环境下直接使用,因为加入开发的jar大于了上传的最大限制,只能把jar另外打包上传,下载可以从我上传资源的lib1,lib2下载,这个工程的搭建花费了我两...

    struts2 + spring + ibatis 实例

    struts2 + spring + ibatis 实例 struts2 + spring + ibatis 实例 struts2 + spring + ibatis 实例 struts2 + spring + ibatis 实例 struts2 + spring + ibatis 实例

    struts1.3+spring2.5+ibatis2.3.4整合

    struts1.3+spring2.5+ibatis2.3.4整合

    ibatis+Spring+struts2整合实例

    本实例关注的是“ibatis+Spring+struts2”的整合,这是一个经典的Java Web开发组合,用于实现数据访问、业务逻辑控制和用户界面交互。下面我们将深入探讨这三个组件及其整合的关键知识点。 1. **iBATIS**:iBATIS...

    maven3+struts2+spring+ibatis

    maven3+struts2+spring+ibatis,本来是用maven3+struts2+spring+hibernate但考虑到hibernate在多表级联查询的时候执行效率不高,所以改用性能更好不过sql比较麻烦的的ibatis,本项目只有登录和插入数据,仅供参考: ...

    Struts2+Spring+Hibernate和Struts2+Spring+Ibatis

    Struts2+Spring+Hibernate和Struts2+Spring+Ibatis是两种常见的Java Web应用程序集成框架,它们分别基于ORM框架Hibernate和轻量级数据访问框架Ibatis。这两种框架结合Spring,旨在提供一个强大的、可扩展的、易于...

    eclipse开发的ssi整合struts2+ibatis2.x+spring2.5

    在IT行业中,集成Struts2、iBatis2.x和Spring2.5是常见的企业级应用开发模式,这种架构被称为“SSH”(Struts、Spring、Hibernate)的变种,因为iBatis替代了传统的Hibernate作为持久层框架。Eclipse作为Java开发的...

    Struts2+spring+ibatis三大框架整合实例

    Struts2、Spring和iBatis是Java Web开发中常用的三大框架,它们分别负责MVC模式中的Action层、业务逻辑层和服务数据访问层。本文将详细介绍这三个框架如何整合,以及在实际项目中如何运用。 首先,Struts2作为表现...

    struts2、spring、ibatis整合实例

    struts2、spring、ibatis整合实例 struts2、spring、ibatis整合实例 struts2、spring、ibatis整合实例 struts2、spring、ibatis整合实例

    struts2+spring+Ibatis框架包

    在"ssi_jar"这个压缩包中,可能包含了这三个框架的库文件,例如struts2相关的jar包(如struts2-core、struts2-convention等)、Spring的核心库(如spring-context、spring-web等)以及iBatis的库文件(如ibatis-3-...

    Spring+Struts2+Ibatis整合例子

    **Spring、Struts2 和 iBatis 整合详解** 在Java Web开发中,Spring、Struts2 和 iBatis 是三个非常重要的框架。它们分别负责不同层面的任务:Spring 提供了全面的依赖注入(DI)和面向切面编程(AOP),用于管理...

    lib2 flex+struts2+spring+ibatis 完整的jar 需要下载我提供的资源lib1

    在这个场景中,"lib2 flex+struts2+spring+ibatis" 的组合是一个常见的Java Web开发框架,用于实现MVC(Model-View-Controller)架构。这个框架集合了四个核心组件:Flex前端、Struts2作为MVC框架、Spring作为依赖...

    spring3+struts2+ibatis

    《Spring3+Struts2+Ibatis:企业级应用开发框架整合详解》 在现代企业级Web应用开发中,Spring、Struts2和Ibatis是常见的三大组件,它们各自负责不同的职责,共同构建出高效、灵活的应用架构。Spring作为全能型的...

    spring2+struts1+ibatis2

    spring2+struts1+ibatis2spring2+struts1+ibatis2spring2+struts1+ibatis2spring2+struts1+ibatis2spring2+struts1+ibatis2spring2+struts1+ibatis2spring2+struts1+ibatis2

    spring+struts2+ibatis简单登录实例--特别适新人学习

    一个简单的spring+struts+ibatis整合的实例,实现了用户登录,用户登录成功则显示欢迎信息,失败则显示用户名或密码错误,该实例非常简单基础,特别适合新人学习,工程包含了必要的资源包,部署到服务器中及可运行,...

Global site tag (gtag.js) - Google Analytics