Posts Tagged ‘JSP and Flex

05
Sep
09

Flex HttpService HelloWorld

I have done a sample Http-Service HelloWorld Program . This Program illustrates  data transfer from flex to java using Http service. Data are transferred in xml format.

Step 1: Define Http Service in mxml file

<mx:HTTPService id=”reg” method=”POST” url=”reg” result=”loginres()”>
<mx:request xmlns=”">
<myname>{myname.text}</myname>
<passwd>{passwd.text}</passwd>
</mx:request>
</mx:HTTPService>

Step 2: Map the HTTPService url in web.xml

<servlet-mapping>
<servlet-name>test</servlet-name>
<url-pattern>/reg</url-pattern>
</servlet-mapping>


step 3: Call HTTPService’s send method on some event

step 4: The data Defined in HTTPService will be available in servlet that was mapped in web.xml

Step 5: Process the data in servlet  and send back to front end using  as xml string (e.g outputXML=”<status>” + name + “</status>”)

step 6: Retrieve the returned data from java in flex as shown below

<mx:ComboBox id=”resultData” dataProvider=”{reg.lastResult.status}” visible=”false” selectedIndex=”0″>
</mx:ComboBox>

The below is the deployment structure

Deployment Structure

Deployment Structure

Login.mxml

<?xml version=”1.0″ encoding=”utf-8″?>
<mx:Application xmlns:mx=”http://www.adobe.com/2006/mxml&#8221; layout=”absolute” cornerRadius=”20″ alpha=”0.38″ themeColor=”#00ff40″ backgroundGradientColors=”[#0080ff, #0080ff]” backgroundGradientAlphas=”[0.84, 0.5]” fontFamily=”Times New Roman” fontSize=”14″ borderColor=”#00ff80″ borderStyle=”solid” >

<mx:HTTPService id=”reg” method=”POST” url=”reg” result=”loginres()”>
<mx:request xmlns=”">
<myname>{myname.text}</myname>
<passsword>{passwd.text}</passsword>
</mx:request>
</mx:HTTPService>

<mx:ComboBox id=”resultData” dataProvider=”{reg.lastResult.status}” visible=”false” selectedIndex=”0″>
</mx:ComboBox>

<mx:Label x=”157″ y=”184″ text=”login” width=”107″/>
<mx:Label x=”157″ y=”250″ text=”passwd” width=”107″/>
<mx:TextInput id=”myname” x=”318″ y=”182″/>
<mx:TextInput id=”passwd” x=”318″ y=”248″/>
<mx:Button x=”318″ y=”302″ label=”submit” click=”onsubmit()” height=”26″/>

<mx:Script>
<![CDATA[
import mx.controls.Alert;

public function onsubmit(): void{

if(myname.text=="" || passwd.text=="")

{

Alert.show("please enter the values");
}
else
{
reg.cancel();
reg.send();
}
}

public function loginres():void{
Alert.show("HelloWorld " +  "Welcome " + resultData.text);

}

]]>
</mx:Script>

</mx:Application>

loginController.java

package com.sample;

import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class loginController extends HttpServlet
{
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException
{
doPost(request,response);
}

public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException

{

String name=request.getParameter(“myname”);
String password=request.getParameter(“passwd”);

System.out.println(“\n name ” + name);
System.out.println(“\n password ” + password);

PrintWriter writer = null;
String outputXML = “”;
writer = response.getWriter();
outputXML=”<status>” + name + “</status>”;

writer.println(outputXML);

writer.flush();

writer.close();

}
}

web.xml


<?xml version=”1.0″ encoding=”ISO-8859-1″?>

<web-app xmlns=”http://java.sun.com/xml/ns/j2ee&#8221;
xmlns:xsi=”http://www.w3.org/2001/XMLSchema-instance&#8221;
xsi:schemaLocation=”http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd&#8221;
version=”2.4″>

<servlet>
<servlet-name>test</servlet-name>
<servlet-class>com.sample.loginController</servlet-class>
</servlet>

<servlet-mapping>
<servlet-name>test</servlet-name>
<url-pattern>/reg</url-pattern>
</servlet-mapping>

<welcome-file-list> <welcome-file>login.swf</welcome-file> </welcome-file-list>

</web-app>

Output

output




Follow

Get every new post delivered to your Inbox.