使用flex中的httpservice方法与java进行交互

 这篇文章主要介绍了使用flex中的httpservice方法与java进行交互,需要的朋友可以参考下

地球已经调至震动状态使用flex中的httpservice方法与java进行交互: 
 
一、写服务器: 
1.在myeclipse中建立web项目 
2.写一个用来打印xml的servlet 
3.当使用httpservice与java进行交互的时候不用改写remoting-config.xml文件 
4.web.xml文件中配置servlet的访问地址(一般不用配置,当一个servlet建好之后myeclipse就会自动配置好web.xml文 件,不用去改动,但是需要注意的是,当你在导入blazeds开发文件的时候他会改动web.xml文件,这时候你一定要将web.xml文件改过来,要 不然flex在访问服务器的时候则反问不到你的servlet)。 
5.当你的服务器端的servlet写好之后再去建立flex 项目,并且根据你之前建好的servlet项目在flex项目的属性项中配置flex服务器的访问地址。 
6.写flex的mxml文件。 
 
二、一个简单案例: 
1.servlet源代码 
 代码如下:
package com.wle.flex.HttpService.java文件源代码 
 
package com.wle.flex; 
 
import java.io.IOException; 
import java.io.Writer; 
 
import javax.servlet.ServletException; 
import javax.servlet.http.HttpServlet; 
import javax.servlet.http.HttpServletRequest; 
import javax.servlet.http.HttpServletResponse; 
 
public class HttpService01 extends HttpServlet { 
 
public void doGet(HttpServletRequest request, HttpServletResponse response) 
throws ServletException, IOException { 
 
response.setContentType("text/xml;charset=utf-8"); 
Writer out = response.getWriter(); 
out.write("<?xml version='1.0' encoding='utf-8'?>"); 
out.write("<item>"); 
out.write("<student name='林冲' age='23' class='水泊梁山一班'/>"); 
out.write("<student name='李逵' age='24' class='水泊梁山二班'/>"); 
out.write("<student name='扈三娘' age='23' class='水泊梁山一班'/>"); 
out.write("<student name='时迁' age='24' class='水泊梁山二班'/>"); 
out.write("<student name='武松' age='23' class='水泊梁山一班'/>"); 
out.write("<student name='燕青' age='24' class='水泊梁山二班'/>"); 
out.write("</item>"); 

public void doPost(HttpServletRequest request, HttpServletResponse response) 
throws ServletException, IOException { 
this.doGet(request, response); 


 
2.servlet对应的web.xml文件 
代码如下:
<?xml version="1.0" encoding="UTF-8"?> 
<web-app version="3.0" 
xmlns="http://java.sun.com/xml/ns/javaee" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"> 
<display-name></display-name> 
<servlet> 
<description>This is the description of my J2EE component</description> 
<display-name>This is the display name of my J2EE component</display-name> 
<servlet-name>HttpService01</servlet-name> 
<servlet-class>com.wle.flex.HttpService01</servlet-class> 
</servlet> 
 
<servlet-mapping> 
<servlet-name>HttpService01</servlet-name> 
<url-pattern>/wl/HttpService01</url-pattern> 
</servlet-mapping> 
 
</web-app> 
 
3.在webroot目录下导入blazeds文件 
 
4.发布servlet项目 
比如讲servlet项目发布到D:Tomcat 6.0webappsflex_service_HttpService这个文件下 
 
5.建立flex项目 
建好flex项目之后,在项目上右键单击选择属性,在属性中的flex服务器选项中设置flex服务器的地址 
配置信息如下: 
文件根目录:D:Tomcat 6.0webappsflex_service_HttpService 
根URL(U):http://localhost:8089/flex_service_HttpService 
上下文根目录:/flex_service_HttpService 
6.配置好flex项目的服务器之后就开始写flex源文件,如下: 
代码如下:
<?xml version="1.0" encoding="utf-8"?> 
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" 
layout="vertical" 
fontSize="12" viewSourceURL="srcview/index.html" xmlns:s="library://ns.adobe.com/flex/spark"> 
 
<!--<mx:Style source="DGtoExcel.css"/>--> 
 
 
<mx:Script> 
<![CDATA[ 
import mx.collections.ArrayCollection; 
import mx.controls.Alert; 
import mx.events.FlexEvent; 
import mx.events.ItemClickEvent; 
import mx.rpc.events.FaultEvent; 
 
[Bindable] 
private var myAC:ArrayCollection; 
 
private function faultHandler(event:FaultEvent):void 

Alert.show(event.fault.faultString, event.fault.message); 

 
// Function to filter out all items with gender 
private function maleFilterFunc(item:Object):Boolean { 
return item.gender == 1; 

 
// Function to apply the filter function the ICollectionView. 
private function filterMale():void { 
myAC.filterFunction = maleFilterFunc; 
//Refresh the collection view to apply the filter. 
myAC.refresh(); 

 
// Function to filter out all items with gender 
private function femaleFilterFunc(item:Object):Boolean { 
return item.gender == 0; 

 
// Function to apply the filter function the ICollectionView. 
private function filterFemale():void { 
myAC.filterFunction = femaleFilterFunc; 
//Refresh the collection view to apply the filter. 
myAC.refresh(); 

 
// Function to Reset the view to its original state. 
private function resetAC():void { 
myAC.filterFunction = null; 
//Refresh the collection view. 
myAC.refresh(); 

 
 
// Event handler function to display the selected button 
private function filterHandler(event:ItemClickEvent):void { 
switch(event.currentTarget.selectedValue){ 
case 1: 
filterMale(); 
break; 
case 0: 
filterFemale(); 
break; 
case 2: 
resetAC(); 
break; 
default: 
break; 

 

 
protected function bt1_clickHandler():void 

myService.send(); 

 
]]> 
</mx:Script> 
<mx:HTTPService id="myService" 
showBusyCursor="true" 
url="http://localhost:8089/flex_service_HttpService/wl/HttpService01" 
result="myAC = event.result.item.student" 
fault="faultHandler(event)" 
contentType="application/xml" 
/> 
<mx:HBox> 
<mx:RadioButtonGroup id="gendertype" itemClick="filterHandler(event);"/> 
<mx:RadioButton groupName="gendertype" id="rbMale" value="1" label="男" /> 
<mx:RadioButton groupName="gendertype" id="rbFemale" value="0" label="女" /> 
<mx:RadioButton groupName="gendertype" id="rbAll" value="2" label="所有" /> 
</mx:HBox> 
<mx:DataGrid id="myDG" width="100%" rowCount="20" 
dataProvider="{myAC}" > 
<mx:columns> 
<mx:DataGridColumn headerText="姓名" dataField="name"/> 
<mx:DataGridColumn headerText="年龄" dataField="age" /> 
<mx:DataGridColumn headerText="班级" dataField="class"/> 
</mx:columns> 
</mx:DataGrid> 
<mx:HBox> 
<s:Button id="bt1" label="提交" click="bt1_clickHandler()"/> 
</mx:HBox> 
</mx:Application> 
 
这样就实现了flex到javaee 的交互工作 

时间: 2025-01-13 04:34:57

使用flex中的httpservice方法与java进行交互的相关文章

使用flex中的httpservice方法与java进行交互_Flex

地球已经调至震动状态使用flex中的httpservice方法与java进行交互: 一.写服务器: 1.在myeclipse中建立web项目 2.写一个用来打印xml的servlet 3.当使用httpservice与java进行交互的时候不用改写remoting-config.xml文件 4.web.xml文件中配置servlet的访问地址(一般不用配置,当一个servlet建好之后myeclipse就会自动配置好web.xml文 件,不用去改动,但是需要注意的是,当你在导入blazeds开发

java中关于dismiss方法的使用

问题描述 java中关于dismiss方法的使用 myDialog.dismiss( )比如这条语句中是关闭一个对话框的意思吗dismiss还有哪些方面的应用 解决方案 看下这个函数的源码上面的注释信息,jdk源码上的英文注释就是很好的参考文档的. 解决方案二: 这和java语言没有关系,这只是dialog对象定义的方法罢了.你也可以写一个类,定义一个叫dismiss的方法. 在英文字面看来,dismiss就是消失的意思. 解决方案三: java中waitnotifynotifyAll的使用方法

关于java多线程中的join方法

问题描述 关于java多线程中的join方法 1.主线程可能在子线程结束之前 结束吗?如果可能的话 举一个例子 2.如何理解join方法, 结合实际应用. 非常感谢非常感谢!!! 解决方案 关于join,参考:http://www.blogjava.net/jnbzwm/articles/330549.html 解决方案二: 主线程可能在子线程结束之前 结束吗 一般来说不可以,但是也不一定,如果子线程在执行finally中的代码,应该会等它执行完了才退出. 晕,join方法和什么"让主线程等子线

java中this作为方法名的时候的问题,不知道我把它看成方法名正步正确

问题描述 java中this作为方法名的时候的问题,不知道我把它看成方法名正步正确 如下代码所示, public MyView(Context context) { this(context null); } //this在这里是方法吗,this是一个方法名吗? 解决方案 this用来调用你这个类中定义的一个构造方法 解决方案二: this不是方法名,而是Java中对当前对象的引用.例如当前对象的引用用this,父类对象的引用用super 解决方案三: 一个类中定义两个构造函数,在一个构造函数中

教你在java中使用dll方法

Java语言本身具有跨平台性,如果通过Java调用DLL的技术方便易用,使用Java开发前台界面可以更快 速,也能带来跨平台性. Java调用C/C写好的DLL库时,由于基本数据类型不同.使用字节序列可能有差异,所以在参数传递过 程中容易出现问题. 使用Java调用DLL动态链接库的方案通常有三种:JNI, Jawin, Jacob. 其中JNI(Java Native Interface)是Java语言本身提供的调用本地已编译的函数库的方法,本身具有跨平台性,可以在不同的机 器上调用不同的本地

如何在Java中避免equals方法的隐藏陷阱

译者注 :你可能会觉得Java很简单,Object的equals实现也会非常简单,但是事实并不是你想象的这样,耐心的读完本文,你会发现你对Java了解的是如此的少.如果这篇文章是一份Java程序员的入职笔试,那么不知道有多少人会掉落到这样的陷阱中. 摘要 本文描述重载equals方法的技术,这种技术即使是具现类的子类增加了字段也能保证equal语义的正确性. 在<Effective Java>的第8项中,Josh Bloch描述了当继承类作为面向对象语言中的等价关系的基础问题,要保证派生类的e

js调用Flex中的方法并向flex中传参及flex调用js示例

首先,有了一个swf文件,test.swf,同时也有一个自动生成的html文件,test.html. 然后,在另外一个文件,test.jsp中,通过iframe,引入了test.html,即引入了swf. 现在想要在test.jsp中,向flex传参,并调用flex中的方法,我采用的方法是: 首先,在jsp中写一个调用flex的方法,如下 复制代码 代码如下: function initSWF(){ //得到swf的object var obj = window.frames["rightfra

flex中使用RadioButtonGroup时取出所选项的值的方法

 flex中的RadioButtonGroup想必大家并不陌生吧,在本文将为大家介绍下在使用RadioButtonGroup时如何取出所选项的值,感兴趣的朋友可以参考下 代码如下: <mx:FormItem label="是否打印:">  <mx:HBox verticalAlign="middle" horizontalGap="15">  <mx:RadioButtonGroup id="dayinID

java中不能修饰方法不能修饰变量不能修饰类的关键词分别是什么

问题描述 java中不能修饰方法不能修饰变量不能修饰类的关键词分别是什么 java中不能修饰方法不能修饰变量不能修饰类的关键词分别是什么 实现现多个接口的类是不是必须重写其所有方法, 解决方案 首先,第一个问题,了解哪些关键词能修饰方法.变量.类比较容易些. 修饰方法的关键字:public/private/protected/default ,static, 修饰变量了:final ,static:修饰类的:public/private/protected/default,static 其次,实