站长网 Unix 使用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的访问

地球已经调至震动状态使用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 age=’23’/>”);
out.write(“<student age=’24’/>”);
out.write(“<student age=’23’/>”);
out.write(“<student age=’24’/>”);
out.write(“<student age=’23’/>”);
out.write(“<student age=’24’/>”);
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
“>
<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.0\webapps\flex_service_HttpService这个文件下

5.建立flex项目
建好flex项目之后,在项目上右键单击选择属性,在属性中的flex服务器选项中设置flex服务器的地址
配置信息如下:
文件根目录:D:\Tomcat 6.0\webapps\flex_service_HttpService
根URL(U)::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
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 itemClick=”filterHandler(event);”/>
<mx:RadioButton groupName=”gendertype” value=”1″ label=”男” />
<mx:RadioButton groupName=”gendertype” value=”0″ label=”女” />
<mx:RadioButton groupName=”gendertype” value=”2″ label=”所有” />
</mx:HBox>
<mx:DataGrid 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 label=”提交”/>
</mx:HBox>
</mx:Application>


这样就实现了flex到javaee 的交互工作

本文来自网络,不代表站长网立场,转载请注明出处:https://www.zwzz.com.cn/html/server/unix/2021/0523/4730.html

作者: dawei

【声明】:站长网内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。
联系我们

联系我们

0577-28828765

在线咨询: QQ交谈

邮箱: xwei067@foxmail.com

工作时间:周一至周五,9:00-17:30,节假日休息

返回顶部