經(jīng)過兩天工作閑余時間的奮戰(zhàn),終于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
(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的實現(xiàn)類放一個包下
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("調(diào)用失敗");
Alert.show(event.message.toString());
}
]]>
</mx:Script>
<mx:HTTPService id="testHttp" result="httpHandler(event)" fault="httpFail(event)" resultFormat="e4x" />
<mx:Panel x="171" y="64" width="670" height="342" layout="absolute" id="userPannel" title="userPannel1">
<mx:DataGrid x="0" y="0" 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="34" y="262">
<mx:Button label="查詢?nèi)藛T列表" 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");
}

}
時間關系,介紹得比較粗糙也沒撒說明,不過只要對框架較熟悉的應該很快能搭建起環(huán)境
本文章主要是集成框架介紹
注意:需要IBATIS的JAR吧,dbcp連接池的包,還有相應的驅(qū)動包
IDE:myeclipse
(當然:前提是FLEX+java整合成功的情況下,關于flex+java整合的文章就比較多,google下就OK):
1.成功整合FLEX+JAVA后,右鍵單擊項目選擇 MyEclipse---》add struts(添加STRUTS比較簡單這里就不多說了),下面貼代碼:
(1)
















(2)UserAction
1
package com.yinhai.struts.action;
2
3
import java.io.IOException;
4
import java.io.PrintWriter;
5
import java.sql.Connection;
6
import java.sql.DriverManager;
7
import java.sql.SQLException;
8
import java.util.List;
9
10
import javax.servlet.http.HttpServletRequest;
11
import javax.servlet.http.HttpServletResponse;
12
13
import model.User;
14
15
import org.apache.struts.action.Action;
16
import org.apache.struts.action.ActionForm;
17
import org.apache.struts.action.ActionForward;
18
import org.apache.struts.action.ActionMapping;
19
import org.springframework.beans.factory.BeanFactory;
20
import org.springframework.context.support.ClassPathXmlApplicationContext;
21
22
import dao.ContextHelper;
23
import dao.UserDaoImpl;
24
25
/**
26
* MyEclipse Struts
27
* Creation date: 08-05-2009
28
*
29
* XDoclet definition:
30
* @struts.action parameter="method" validate="true"
31
* @struts.action-forward name="fail" path="/fail.jsp"
32
* @struts.action-forward name="sucess" path="/sucess.jsp"
33
*/
34
public class UserAction extends Action {
35
/*
36
* Generated Methods
37
*/
38
39
/**
40
* Method execute
41
* @param mapping
42
* @param form
43
* @param request
44
* @param response
45
* @return ActionForward
46
* @throws IOException
47
*/
48
public ActionForward execute(ActionMapping mapping, ActionForm form,
49
HttpServletRequest request, HttpServletResponse response) {
50
// ClassPathXmlApplicationContext ctxss = new ClassPathXmlApplicationContext("applicationContext.xml");
51
// BeanFactory ctx=(BeanFactory)ctxss;
52
// UserDaoImpl um = (UserDaoImpl) ctx.getBean("userDao");
53
UserDaoImpl um =(UserDaoImpl)ContextHelper.getContext().getBean("userDao");
54
List users = um.getUsers();
55
User user=null;
56
String xml="<?xml version=\"1.0\" encoding=\"utf-8\"?><users>";
57
for(int i=0;i<users.size();i++){
58
user=(User)users.get(i);
59
xml=xml+"<user>"+
60
"<usernumber>"+user.getUsernumber()+"</usernumber>" +
61
"<name>"+user.getName()+"</name>"+
62
"<password>"+user.getPassword()+"</password>"+
63
"</user>";
64
}
65
xml=xml+"</users>";
66
System.out.println(xml);
67
PrintWriter p = null;
68
try {
69
// p=response.getWriter();
70
response.getWriter().write(xml);
71
72
} catch (Exception e) {
73
// TODO Auto-generated catch block
74
e.printStackTrace();
75
}
76
//p.write(xml);
77
// 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>");
78
// p.close();
79
80
return null;

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

(3)獲取bean的工具類




















2.添加SRPING
右鍵單擊項目選擇 MyEclipse---》add spring
spring的配置文件























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











































注意:User.xml一定要和相應的DAO的實現(xiàn)類放一個包下
4.FLEX文件













































5.其他文件:
工具類,解決亂碼





































本文章主要是集成框架介紹
注意:需要IBATIS的JAR吧,dbcp連接池的包,還有相應的驅(qū)動包