2011-11-28 50 views
0

我使用Flash 4.0作爲UI層,並且我試圖發送數據到服務器端,它運行在Tomcat上。我寫了一個servlet來調用它。但我不明白我怎麼能看到從閃存層發送的數據。爲了澄清,特此例如:如何檢索由Flash 4 HttpService發送的數據,在Servlet端

閃存層:

<fx:Declarations> 
    <s:HTTPService 
     id="setCustomerDataService" 
     url="http://localhost:8080/AnalyticsPortalWebUI-1.0/setCustomerData" 
     useProxy="false" method="POST" resultFormat="text" 
     result="onSetCustomerDataResult(event)" 
     fault="fault(event)"> 
    </s:HTTPService> 

</fx:Declarations> 

<fx:Script> 
    <![CDATA[ 

     private function onSubmitCustomerDataClick(event:MouseEvent):void 
     { 
      var item:UsageInfoItem = new UsageInfoItem(); 
         .... 
      //i use JSON to encode,but it's not related to my question 
          var data:String = JSON.encode(item); 
      //query: 
      setCustomerDataService.send(data); 
     } 


    ]]> 
</fx:Script> 

我的servlet:

public void service(HttpServletRequest httpRequest, HttpServletResponse httpResponse) 
{ 
    //how can I retrieve "data" from flash here? 
} 

所以我的問題 - 我怎樣才能從Flash檢索 「數據」,在我的Servlet?

感謝, 轄

回答

0

找到了答案 - 所以我在這裏分享:

 private function onSubmitCustomerDataClick(event:MouseEvent):void 
     { 
      var item:UsageInfoItem = new UsageInfoItem(); 
          .... 
          **//this is how you do it:** 
      var params:Object = {}; 

      var data:String = JSON.encode(item); 
      params["paramName"] = data; 
      //query: 
      setCustomerDataService.send(params); 
     } 
在服務器端

public void service(HttpServletRequest httpRequest, HttpServletResponse httpResponse) 
{ 
    String customerDataJsoned = httpRequest.getParameter("paramName"); 

    if(customerDataJsoned != null) 
    { 
     ObjectMapper mapper = new ObjectMapper(); 
     CustomerData customerData = mapper.readValue(customerDataJsoned, CustomerData.class); 
     String customerId = customerData.getCustomerId(); 
    } 
} 

在閃光燈側

相關問題