FileDocCategorySizeDatePackage
InvokeServletMidlet2.javaAPI DocExample3494Sat Jan 05 11:47:08 GMT 2002None

InvokeServletMidlet2

public class InvokeServletMidlet2 extends MIDlet implements CommandListener

Fields Summary
Display
display
List
menu
TextBox
input
String
user
String
url
static final Command
backCommand
static final Command
submitCommand
static final Command
exitCommand
String
currentMenu
Constructors Summary
public InvokeServletMidlet2()


     
   
Methods Summary
public voidaddName()

      input = new TextBox("Enter first name:", "", 5, TextField.ANY);
      input.addCommand(submitCommand);
      input.addCommand(backCommand);
      input.setCommandListener(this);
      input.setString("");
      display.setCurrent(input);
   
public voidcommandAction(Command c, Displayable d)

      String label = c.getLabel();
      if (label.equals("Exit")) {
         destroyApp(true);
      } else if (label.equals("Back")) {
         mainMenu();
      } else if (label.equals("Submit")) {
         user = input.getString();
         try {
            invokeServlet(url);
         }catch(IOException e) {}
      } else {
         addName();
      } 
   
public voiddestroyApp(boolean unconditional)

      notifyDestroyed();
   
voidinvokeServlet(java.lang.String url)

      HttpConnection c = null;
      InputStream is = null;
      OutputStream os = null;
      StringBuffer b = new StringBuffer();
      TextBox t = null;
      try {
         c = (HttpConnection)Connector.open(url);
         c.setRequestMethod(HttpConnection.POST);
         c.setRequestProperty("CONTENT-TYPE","application/x-www-form-urlencoded");
         c.setRequestProperty("User-Agent","Profile/MIDP-1.0 Confirguration/CLDC-1.0");
         c.setRequestProperty("Content-Language", "en-CA");
          
         os = c.openOutputStream();
         String str = "name="+user;
         byte postmsg[] = str.getBytes();
         System.out.println("Length: "+str.getBytes());
         for(int i=0;i<postmsg.length;i++) {
            os.write(postmsg[i]);
         }
         // or you can easily do:
         //os.write(("name="+user).getBytes()); 
         os.flush();

         is = c.openDataInputStream();
         int ch;
         while ((ch = is.read()) != -1) {
            b.append((char) ch);
            System.out.print((char)ch);
         }
         t = new TextBox("Second Servlet", b.toString(), 1024, 0);
         t.addCommand(backCommand);
         t.setCommandListener(this);
      } finally {
         if(is!= null) {
            is.close();
         }
         if(os != null) {
            os.close();
         }
         if(c != null) {
            c.close();
         }
      }
      display.setCurrent(t);
   
voidmainMenu()

      display.setCurrent(menu);
   
public voidpauseApp()

   
public voidstartApp()

      display = Display.getDisplay(this);
      menu = new List("Invoke Servlet", Choice.IMPLICIT);
      menu.append("Add a user", null);
      menu.addCommand(exitCommand);
      menu.setCommandListener(this);
      mainMenu();