Как получить данные, отправленные Flash 4 HttpService, на стороне сервлета - PullRequest
0 голосов
/ 28 ноября 2011

Я использую Flash 4.0 в качестве уровня пользовательского интерфейса и пытаюсь отправить данные на серверную часть, которая работает на Tomcat. Я написал сервлет, что звонки на него направлены. Но я не понимаю, как я могу увидеть данные, которые были отправлены с уровня флэш-памяти. уточнить, настоящим примером:

Уровень Flash:

<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>

мой сервлет:

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

поэтому мой вопрос - как я могу получить «данные» из Flash в моем сервлете?

спасибо, Ohad

1 Ответ

0 голосов
/ 29 ноября 2011

нашел ответ - поэтому я делюсь им здесь:

на стороне флэш-памяти:

        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();
   }
}
...