时间:2021-05-25
 地球已经调至震动状态使用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:///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 的交互工作 
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
相关阅读:Java中jqGrid学习笔记整理——进阶篇(一)本篇开始正式与后台(java语言)进行数据交互,使用的平台为JDK:java1.8.0_71myEc
本文实例为大家分享了AndroidWebview使用小结,供大家参考,具体内容如下#采用重载URL的方式实现Java与Js交互在Android中,常用的Java
由于JavaScript属于弱类型脚本语言,因此当其与强类型的后台语言进行数据交互时会产生各种问题,特别是加解密的操作。本人由于工作中遇到用js与Java进行相
Java中的BigDecimal类的使用:使用Java中的BigDecimal可以进行精确的计算,但是在使用BigDecimal时我们需要注意它的add()方法
java对ArrayList进行分页概述系统与系统之间的交互,通常是使用接口的形式。假设B系统提供了一个批量的查询接口,限制每次只能查询50条数据,而我们实际需