萬盛學電腦網

 萬盛學電腦網 >> 網絡編程 >> 編程語言綜合 >> 使用flex中的httpservice方法與java進行交互

使用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&
copyright © 萬盛學電腦網 all rights reserved