小菜毛毛技术分享
与大家共同成长
BlogJava
::
首页
::
联系
::
聚合
::
管理
164 Posts :: 141 Stories :: 94 Comments :: 0 Trackbacks
常用链接
我的随笔
我的评论
我的参与
最新评论
留言簿
(15)
给我留言
查看公开留言
查看私人留言
我参与的团队
随笔分类
andriod(23)
appfuse 集成J2EE框架(2)
eclipse 插件相关(3)
English(5)
FckEditor(2)
FLEX(9)
google app engine(2)
googleAnalytics(1)
htmlunit(1)
httpclient(1)
IDE(8)
java基础运用(11)
java定时器(5)
jQuery(1)
JSON-LIB快速入门(1)
JSTL(3)
LOG4J(1)
maven(1)
mysql(1)
servlet(3)
SMC(stateMachine)(1)
spring 框架(1)
struts2(1)
SVN(1)
tiles 框架(1)
velocity(1)
webservice(6)
XML(3)
协议相关(3)
应用服务器(5)
性能优化(3)
技术族谱:软件开发相关知识体系的整理心得(图)(1)
搜索引擎(5)
操作系统(4)
数据建模(8)
电信综合施工调度系统-剖析(2)
规则引擎(1)
计算机基础(1)
设计模式(2)
资源(2)
集群与负载均衡(2)
面试(37)
随笔档案
2011年5月 (1)
2011年2月 (1)
2011年1月 (2)
2010年12月 (7)
2010年11月 (18)
2010年10月 (7)
2010年9月 (8)
2010年8月 (4)
2010年7月 (5)
2010年6月 (4)
2010年5月 (7)
2010年4月 (8)
2010年3月 (24)
2010年2月 (12)
2010年1月 (7)
2009年12月 (2)
2009年11月 (3)
2009年10月 (2)
2009年9月 (8)
2009年8月 (15)
2009年7月 (13)
2009年6月 (2)
2009年5月 (4)
文章分类
AJAX(9)
ANT(4)
EXTJS(15)
HTML+div+css实践(16)
J2EE相关技术与框架(26)
java基础及其原理(9)
JBPM(9)
JSTL(2)
rbac 权限管理模型(1)
webservice(1)
XML(3)
个人日志(4)
技术类英文文档翻译学习(1)
数据库(33)
数据结构
权限管理(2)
电信行业(2)
文章档案
2010年9月 (1)
2010年5月 (1)
2010年3月 (3)
2010年2月 (12)
2010年1月 (17)
2009年12月 (9)
2009年11月 (2)
2009年10月 (1)
2009年9月 (2)
2009年8月 (17)
2009年7月 (9)
2009年6月 (25)
2009年5月 (42)
新闻档案
2010年2月 (1)
收藏夹
TEST(2)
搜索
最新评论
1. re: Apache Commons fileUpload实现文件上传
good
--未来不是梦
2. re: js操作html的table,包括添加行,添加列,删除行,删除列
共和国分隔符
--菊花菊花姐
3. re: WAP网站可以用Google Analytics统计分析流量
请问ga中对wap站的跟踪在哪里可以查看,我操作的方式和pc站一样,都是把网址输入,就出来一段网址,这样似乎不对,是吗,前辈
--ga菜鸟
4. re: Velocity模板(VM)语言介绍
博主写的很详细,学习啦
--winclpt
5. re: 利用Java编写简单的WebService实例[未登录]
11
--111
阅读排行榜
1. Velocity模板(VM)语言介绍(30196)
2. JSTL对Map集合的操作(21114)
3. htmlunit 示例(16659)
4. 利用Java编写简单的WebService实例(13371)
5. webservice和soap原理(12074)
评论排行榜
1. Flex Builder 3 Help 中文版 (CHM/PDF)下载(19)
2. aptana汉化(3)
3. WAP网站可以用Google Analytics统计分析流量(2)
4. Android中添加Admob广告(转(2)
5. axis2 java.lang.reflect.InvocationTargetException (2)
flex3+struts 1.3+spring +ibatis 2.x 整合实例---让新人少走弯路(myeclipse)
经过两天工作闲余时间的奋战,终于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
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
;
(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
=
"
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
=
"
查询人员列表
"
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连接池的包,还有相应的驱动包
posted on 2009-08-13 14:38
小菜毛毛
阅读(2703)
评论(4)
编辑
收藏
所属分类:
J2EE相关技术与框架
Feedback
#
re: flex3+struts 1.3+spring +ibatis 2.x 整合实例---让新人少走弯路(myeclipse)[未登录]
2011-07-07 11:26
aaa
都不说明一下,直接发一堆代码,写了跟没写有什么区别,新人能看懂吗
回复
更多评论
#
re: flex3+struts 1.3+spring +ibatis 2.x 整合实例---让新人少走弯路(myeclipse)
2012-11-16 15:27
王志国
挺好的
回复
更多评论
#
re: flex3+struts 1.3+spring +ibatis 2.x 整合实例---让新人少走弯路(myeclipse)
2012-11-16 15:28
王志国
原来都是错误,这次到反映点东西回来。
将struts中Action后的jsp网页给传回来了。神奇!
回复
更多评论
#
re: flex3+struts 1.3+spring +ibatis 2.x 整合实例---让新人少走弯路(myeclipse)
2014-04-13 21:33
最代码
最代码上转载了你的文章,有问题请回复,地址:
http://www.zuidaima.com/share/1778657261997056.htm
回复
更多评论
新用户注册
刷新评论列表
只有注册用户
登录
后才能发表评论。
网站导航:
博客园
IT新闻
知识库
C++博客
博问
相关文章:
web.xml配置属性获取
jxl的API
JDBC,连接池 代码模拟
Apache Commons fileUpload实现文件上传
Apache Commons工具集简介
纯jsp的单个文件上载代码
Java中文问题及最优解决方法
文件上传原理简单实现
在jsp/servlet中断点/多线程下载文件
response.setContentType 的参数说明
Copyright @ 小菜毛毛
Powered by:
.Text
and
ASP.NET
Theme by:
.NET Monster