开发环境:
(1)安装了flex插件的myeclipse6.0
(2)tomcat5.5
(3)lcds2.6
三者的配置网上有很多教程,可以参照那份(flex+lcds+java教程,感谢写这篇教程的网友)。
User.java代码:
-
packagecom.test;
-
-
importjava.io.Serializable;
-
publicclassUserimplementsSerializable{
-
privateStringstrName;
-
privateStringstrAddress;
-
privateintintAge;
-
-
}
MyFirstFlex.java代码:
-
packagecom.test;
-
-
publicclassMyFirstFlex{
-
publicUsergetUser()
-
{
-
Useruser=newUser();
-
-
user.setIntAge(24);
-
user.setStrAddress("南京");
-
user.setStrName("smallquick");
-
-
returnuser;
-
}
- }
配置remoting-config.xml(目录:web-inf/flex/)在server标签中加入下面一段
-
<destinationid="getUser">
-
<properties>
-
<source>com.test.MyFirstFlex</source>
-
<scope>application</scope>
-
</properties>
-
</destination>
MyFirstFlex.mxml代码如下:
-
<?xmlversion="1.0"encoding="utf-8"?>
-
<mx:Applicationxmlns:mx="http://www.adobe.com/2006/mxml"layout="absolute">
-
<mx:Script>
-
<![CDATA[
-
importmx.rpc.events.ResultEvent;
-
importmx.controls.Alert;
-
-
privatefunctiongetUser():void
-
{
-
userRO.getUser();
-
userRO.addEventListener(ResultEvent.RESULT,getROResult);
-
}
-
-
-
privatefunctiongetROResult(e:ResultEvent):void
-
{
-
varuser:Object=e.resultasObject;
-
-
if(user!=null)
-
{
-
txtName.text=user.strName;
-
txtAddress.text=user.strAddress;
-
txtAge.text=user.intAge;
-
}
-
else
-
{
-
Alert.show("没有结果!");
-
}
-
}
-
]]>
-
-
</mx:Script>
-
-
<mx:RemoteObjectid="userRO"destination="getUser"/>
-
<mx:Panelx="109"y="65"width="411"height="249"layout="absolute"fontSize="12">
-
<mx:Labelx="69"y="36"text="姓名"/>
-
<mx:Labelx="69"y="74"text="年龄"/>
-
<mx:Labelx="69"y="118"text="地址"/>
-
<mx:Buttonx="189"y="161"label="请求"id="btnRequest"click="getUser()"/>
-
<mx:TextInputx="126"y="34"id="txtName"/>
-
<mx:TextInputx="126"y="72"id="txtAge"/>
-
<mx:TextInputx="126"y="116"id="txtAddress"/>
-
</mx:Panel>
-
-
</mx:Application>
ok,代码写完,部署到tomcat5.5
运行MyFirstFlex.mxml,得到如下图:
点击请求按钮,如下图得到结果:
---------------------------------------------------------------------
没有implements Serializable,你就不能通过rmi(包括ejb)提供远程调用。
serialization 允许你将实现了Serializable接口的对象转换为字节序列,这些字节序列可以被完全存储以备以后重新生成原来的对象。
serialization不但可以在本机做,而且可以经由网络操作(就是猫小说的RMI)。这个好处是很大的----因为它自动屏蔽了操作系统的差异,字节顺序等。比如,在Window平台生成一个对象并序列化之,然后通过网络传到一台Unix机器上,然后可以在这台Unix机器上正确地重构这个对象。
Object serialization主要用来支持2种主要的特性:
1。Java的RMI(remote method invocation).RMI允许象在本机上一样操作远程机器上的对象。当发送消息给远程对象时,就需要用到serializaiton机制来发送参数和接收返回直。
2。Java的JavaBeans. Bean的状态信息通常是在设计时配置的。Bean的状态信息必须被存起来,以便当程序运行时能恢复这些状态信息。这也需要serializaiton机制。
总之如果在网络的环境下做类传输,应该还是implements Serializable。
分享到:
相关推荐
在Flex中,我们可以创建一个`RemoteObject`实例来连接Java服务,这样客户端就可以调用服务器上的方法,实现数据的读取、写入等操作。 2. `RemoteObject`连接Java后台:在Flex中,`RemoteObject`组件是与后端服务...
Java端使用POI读取文件内容,转换为适合传输的数据结构,然后通过AMF返回给Flex。 - **导出Excel**:Flex接收用户请求,将数据结构化后发送给Java。Java接收数据,使用POI创建新的Excel文件并填充内容,然后提供一...
在本文中,我们将探讨如何使用Flex与Java对象配合,通过RemoteObject组件来连接SQL Server数据库。这对于初学者来说是一个很有价值的教程。首先,要理解一个关键点:Flex本身并不能直接连接到数据库,而是需要通过...
ORM框架可以将Java对象直接映射到数据库表,简化数据库操作。 9. 安全性与优化: 虽然这个实例主要是为了教学,但实际应用中还需要考虑安全性(如输入验证、授权、认证)和性能优化(如分页、缓存策略、异步请求)...
通过在Java后端创建DAO(数据访问对象),使用Hibernate操作数据库,然后通过AMF将结果返回给Flex客户端,实现数据的CRUD(创建、读取、更新、删除)操作。 4. **Flex客户端开发**:在Flex端,可以使用RemoteObject...
- **ActionScript Classes**:在Flex客户端定义的ActionScript类,通常对应于Java对象,用于序列化和反序列化数据。 - **Java Beans或DAO(Data Access Objects)**:在Java后端,这些对象用于处理数据库操作。 ...
5. **数据库读取**:在“读取”操作中,Java后端使用JDBC的Statement或PreparedStatement对象执行SELECT语句,获取数据库中的数据。结果通常以ResultSet形式返回,Java将其转换成JSON或其他格式,再由Flex前端解析并...
为了实现图片上传,Flex前端可能会使用FileReference类,它提供了读取本地文件并上传到服务器的能力。FileReference对象可以监听“uploadCompleteData”事件,当文件上传成功时触发。同时,通过Flash Player的...
`java.net.ServerSocket` 类用于监听客户端的连接,并通过`accept()`方法接受连接,返回一个`Socket`对象。接收到连接后,我们可以使用`Socket`的`getInputStream()`和`getOutputStream()`方法获取输入流和输出流,...
4. 请求和响应处理:Flex客户端通过HTTP或AMF请求数据,Java服务处理请求,执行相应的数据库操作,然后将结果返回给Flex客户端展示。 总的来说,"flexdemo flex+java访问数据库"是一个典型的前后端分离的应用架构,...
尽管现有的 EmployeeMgmt 应用程序已经有了 Façade 接口,但这个接口是暴露给 Servlet 使用的,最好能再为 Flex 定义另一个接口 FlexService,并隐藏 Java 语言的特定对象(如 清单 1 所示): 清单 1. Flex...
2. **FileReference对象**:在Flex中,FileReference对象允许用户选择本地文件,并提供了读取文件内容、显示对话框选择文件以及上传文件到服务器的方法。 3. **事件监听**:FileReference对象支持多个事件,如...
在读取数据时,Java后端可能会使用预定义的查询或者动态生成SQL,获取数据后转换为AMF格式返回给Flex。在Flex界面上,数据会被绑定到Grid或List等组件上展示给用户。更新和删除操作类似,只是涉及到UPDATE或DELETE ...
- **Java端**: 提供RESTful API接口,接收Flex端的请求并返回相应数据。 #### 五、Flex中的MVC框架 - Cairngorm Extensions Cairngorm Extensions是一个流行的Flex MVC框架,它简化了Flex应用程序的设计和开发过程...
2. **Flex与Java的数据绑定**:在Flex4中,可以使用数据绑定机制将界面元素直接与服务器返回的数据对象关联,实现数据的实时更新。Java端处理数据变更,Flex端自动响应这些变更,提高了开发效率。 3. **Flex UI设计...
Java服务通过查询数据库,将结果集转换为AMF可传输的对象,再返回给Flex客户端。Flex接收到数据后,动态渲染UI展示数据。 5. **更新(Update)操作** 当用户修改数据后,Flex会收集修改信息,调用Java服务的更新...
JavaServlet是Java平台上的一个标准,用于创建服务器端应用程序,处理HTTP请求并返回响应。在本场景中,我们将讨论如何在Flex中捕获组件的快照,将其转换为ByteArray,并通过JavaServlet将其导出为图片。 首先,让...
- Java服务器端在接收到连接请求后,可以从ServerSocket的`accept()`方法返回的Socket对象上读取数据。 3. **数据接收**: - Java服务器在接收到数据后,可以使用Socket的`InputStream`来读取。通常会用`readUTF...
- 接收POST请求中的数据,处理后,将结果返回到FLEX客户端。在这个例子中,PHP可能从请求中提取username和emailaddress,然后执行相应的业务逻辑,最后将处理结果以XML格式返回。 3. **FLEX与JAVA通信**: 对于...