转自:http://xaajie.iteye.com/blog/375553
几个下载地址
blazeds_turnkey_3-0-0-544.zip
下载地址:http://download.macromedia.com/pub/opensource/blazeds/blazeds_turnkey_3-0-0-544.zip
这个小例子通过remoteobject的通讯方法。实现flex与mySQL数据库的交互。
BlazeDS 是一个基于服务器的 Java 远程控制 (remoting) 和 Web 消息传递 (messaging) 技术,它能够使得后端的 Java 应用程序和运行在浏览器上的 Adobe Flex 应用程序相互通信。使用Blazeds可以很方便的连接java后台,同时他也提供HttpService、webservice方式,不过在Blazeds中可以通过配置文件中对其进行设置的,这样提高了应用的灵活性。其中最重要的还是RemotingObject技术,他可以直接远程远程调用java后台提供的公共接口,使其效率大大提升,一般是采用HTTPService方式的10倍左右。
1 使用mySQL中的test数据库,建表名为admin.表中字段为: id username userpwd
(最终目的:将数据库表中的记录最终显示在flex端的DateGrid组件中显示出来)
2 建立myEclipse的工程。新建->web project 输入工程名后。需要将事先下载的Blazeds包粘贴至工程目录下。并且将mysql的驱动放到工程目录lib的文件夹下
(我使用版本blazeds_turnkey_3-0-0-544.zip。将解压后的文件夹中的blazeds.war改成rar的拓展名,并解压,将得到的META-INF和WEB-INF两个文件夹拷入刚建成的工程下webroot下)
3 编写所需的java方法
ConnextionHelper.java
ConnextionHelper.java
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
public class ConnectionHelper
{
private String url;
private static ConnectionHelper instance;
private ConnectionHelper()
{
try {
Class.forName("com.mysql.jdbc.Driver");
url = "jdbc:MySQL://localhost/test";
} catch (Exception e) {
e.printStackTrace();
}
}
public static Connection getConnection() throws SQLException {
if (instance == null) {
instance = new ConnectionHelper();
}
try {
return DriverManager.getConnection(instance.url,"root","root");
} catch (SQLException e) {
throw e;
}
}
public static void close(Connection connection)
{
try {
if (connection != null) {
connection.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
}
}
DAOException.java
Admin.java
Admin.java
import java.io.Serializable;
public class Admin implements Serializable {
static final long serialVersionUID = 103844514947365244L;
private int id;
private String username;
private String userpwd;
public Admin() {
}
public Admin(int id,String username,String userpwd) {
this.id = id;
this.username=username;
this.userpwd=userpwd;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getUserpwd() {
return userpwd;
}
public void setUserpwd(String userpwd) {
this.userpwd = userpwd;
}
}
AdminService.java
AdminService.java
import java.util.ArrayList;
import java.util.List;
import java.sql.*;
import flex.jie.ConnectionHelper;
import flex.jie.DAOException;
public class AdminService {
public List getAdmins() throws DAOException {
List list = new ArrayList();
Connection c = null;
try {
c = ConnectionHelper.getConnection();
Statement s = c.createStatement();
ResultSet rs = s.executeQuery("SELECT * FROM admin ORDER BY id");
while (rs.next()) {
list.add(new Admin(rs.getInt("id"),
rs.getString("username"),
rs.getString("userpwd")));
}
} catch (SQLException e) {
e.printStackTrace();
throw new DAOException(e);
} finally {
ConnectionHelper.close(c);
}
return list;
}
}
重要一步:
在remoting-config.xml文件中 添加(source处根据实际的建包名填写
<destination id="admin">
<properties>
<source>flex.jie.user.AdminService</source>
</properties>
</destination>
至此。myEclipse工程中所需代码以及配置已经完成。将工程部署并发布在Tomacat下面。
接下来,flex端的步骤。
首先 新建Flex Project ,输入工程名。在server technology处选择J2EE,点击next
填写刚刚发布在tomcat下的目录名。点击完成。
在默认的mxml中的代码如下:
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" backgroundColor="#FFFFFF">
<mx:RemoteObject id="srv" destination="admin"/>
<mx:DataGrid dataProvider="{srv.getAdmins.lastResult}" width="100%" height="100%"/>
<mx:Button label="Get Data" click="srv.getAdmins()"/>
</mx:Application>
在tomcat启动的前提下,点击运行即可。
或者想显示指定的列。只需要稍作修改即可
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" backgroundColor="#FFFFFF" creationComplete="srv.getAdmins()">
<mx:Script>
<![CDATA[
import mx.rpc.events.ResultEvent;
import mx.collections.ArrayCollection;
[Bindable]public var ad:ArrayCollection;
private function adminHandler(event:ResultEvent):void
{
ad= event.result as ArrayCollection
}
]]>
</mx:Script>
<mx:RemoteObject id="srv" destination="admin">
<mx:method name="getAdmins" result="adminHandler(event)"/>
</mx:RemoteObject>
<mx:DataGrid dataProvider="{ad}">
<mx:columns>
<mx:DataGridColumn headerText="用户名" dataField="username"/>
<mx:DataGridColumn headerText="密码" dataField="userpwd"/>
</mx:columns>
</mx:DataGrid>
</mx:Application>
显示为形式可为:
说明:此时的destination对应remote-config.xml中的id号 。建立连接。从而flex端所用到的java方法可以找到。返回数据库中所建表的信息
DAOException.java
public class DAOException extends RuntimeException
{
static final long serialVersionUID = -1881205326938716446L;
public DAOException(String message)
{
super(message);
}
public DAOException(Throwable cause)
{
super(cause);
}
public DAOException(String message, Throwable cause)
{
super(message, cause);
}
}
以上是数据库连接所需方法。然后根据数据库中表的结构写下所需的方法类。
分享到:
相关推荐
### Flex+BlazeDS 实现与 MySQL 连接数据库 #### 一、概述 随着互联网技术的发展,跨平台的应用程序开发越来越受到重视。Adobe Flex 和 BlazeDS 的组合为开发者提供了强大的工具来创建高性能且功能丰富的应用程序...
本文主要讲解如何使用Flex结合BlazeDS来实现与MySQL数据库的连接,以便在Flex前端展示数据库中的数据。Flex是一款强大的富互联网应用程序(RIA)开发工具,而BlazeDS是Adobe提供的一个服务器端Java库,用于支持Flex...
本方案主要探讨了如何在Flex前端和BlazeDS中间件与Java后台之间实现有效的数据分页。 Flex是一种基于ActionScript和MXML的开放源代码框架,用于构建富互联网应用程序(RIA)。它提供了丰富的用户界面组件库,包括...
【标题】"Flex4.X+BlazeDS+Spring3实战开发在线书店四"涉及的核心技术栈是Adobe Flex 4.6、BlazeDS、Spring 3框架以及Java相关的JPA和Hibernate,配合MySQL数据库实现一个在线书店的完整系统。下面将详细阐述这些...
这个控制器会接收到Flex传递过来的登录信息,然后使用JDBC(Java Database Connectivity)API与MySQL数据库进行交互。通过预编译的SQL语句防止SQL注入,并执行查询以验证用户名和密码的正确性。 4. 数据库交互:在...
在这个架构中,Flex4作为客户端的展示层,BlazeDS作为服务器端的数据通信中间件,Java处理业务逻辑和数据访问,而JDBC则用于Java与MySQL数据库之间的数据交互。以下将详细阐述这个技术组合的关键知识点: 1. **Flex...
在本工程中,Hibernate用于将Java对象映射到MySQL数据库中的表,实现了数据的持久化。 5. **MySQL**:MySQL是一款流行的开源关系型数据库管理系统,因其高效、稳定和易用性而被广泛采用。在这个项目中,MySQL存储和...
1. **环境配置**:安装Flex SDK和IDE(如Flash Builder),配置Java开发环境(JDK、IDE,如Eclipse),设置BlazeDS服务器,安装MySQL数据库并创建相应的数据表。 2. **前端开发**:使用Flex4创建用户界面,设计学生...
BlazeDS是Adobe提供的开源服务器端技术,它允许Flex客户端与Java服务器进行双向通信,实现了数据的实时同步。 首先,让我们详细了解Flex 4.6。这一版本引入了新的Spark组件模型,提供更美观、可自定义的UI组件,...
13. **包和类的创建**:在 Flex 项目中,编写如 `UserBiz` 类的 Java 类,用于实现业务逻辑,通过 BlazeDS 与 Flex 客户端交互。 14. **remoting-config.xml 配置**:在 `remoting-config.xml` 文件中定义数据目的...
通过使用BlazeDS,开发者可以轻松地将Flex应用与Java服务器进行集成,实现AMF(Action Message Format)数据交换,提高数据传输效率。课程将涵盖BlazeDS的配置、服务发布以及与Spring框架的整合。 Spring 3是Java...
总结来说,Flex+BlazeDS+MySQL的数据交互机制是通过BlazeDS作为中间层,利用AMF协议高效地在Flex客户端与Java服务之间传输数据,使得前端能够方便地执行CRUD操作并与MySQL数据库进行交互。理解并熟练掌握这个流程...
在本示例中,我们将探讨如何使用Flex与Java后台以及MySQL数据库进行通信,以实现数据的存储和检索。 首先,Flex是Adobe公司推出的一种基于ActionScript 3.0的编程语言,它使用MXML和ActionScript进行界面设计和业务...
### Flex+J2EE 实例(Cairngorm+BlazeDS+Hibernate+Spring)Part 3 ...此外,通过使用Cairngorm和BlazeDS框架,可以更方便地实现Flex前端与后端服务之间的通信,从而构建出功能强大且响应迅速的企业级应用。
学习者将通过实际操作理解Flex 4.6的组件使用、ActionScript编程、BlazeDS的配置与消息通信、Spring 3的服务设计、JPA和Hibernate的实体映射,以及MySQL的数据库设计和操作。这是一次深入理解现代Web应用开发的全面...
9. **配置数据连接**:使用LCDs或直接通过HTTP服务(如 BlazeDS)将Flex应用连接到MySQL数据库。在Flex代码中,利用AMF或SOAP等技术实现数据的发送和接收。 10. **测试与调试**:在MyEclipse中启动Tomcat服务器,...
10. **JDBC驱动**: JDBC(Java Database Connectivity)是Java连接数据库的标准接口,需要对应的MySQL JDBC驱动jar包来连接MySQL数据库。 11. **创建数据库和表**: 在MySQL中创建名为"MyFlexDB"的数据库,并建立一...
在“Flex+Java连接数据库”的场景下,我们主要探讨的是如何通过Flex作为前端展示层,与Java后端服务进行通信,进而实现对数据库的操作。 首先,Flex应用通常使用ActionScript编程,这是一种基于ECMAScript的语言,...