views:

35

answers:

1

i am working with Eclipse to develop a application in J2ME.In This application i am using a servlet called HitServlet and a J2me Class HitMIDlet. I want to run this project using Eclipse.But i do not what is the directory structure and how i make directory structure. I am alredy configure J2ME plugin and Tomcat in my eclipse. But i do not what is the directory structure of my classes in my eclipse. To get the proper out put. I want when i run j2me class(HitMIDlet) it hit the servlet(HitServlet) and give the out put.

this is my J2me Class code:

import java.io.*;

import javax.microedition.io.*;
import javax.microedition.lcdui.*;
import javax.microedition.midlet.*;

public class HitMIDlet
    extends MIDlet 
    implements CommandListener {
  private Display mDisplay;
  private Form mMainForm;
  private StringItem mMessageItem;
  private Command mExitCommand, mConnectCommand;

  public HitMIDlet() {
    mMainForm = new Form("HitMIDlet");
    mMessageItem = new StringItem(null, "");
    mExitCommand = new Command("Exit", Command.EXIT, 0);
    mConnectCommand = new Command("Connect",
        Command.SCREEN, 0);
    mMainForm.append(mMessageItem);
    mMainForm.addCommand(mExitCommand);
    mMainForm.addCommand(mConnectCommand);
    mMainForm.setCommandListener(this);
  }

  public void startApp() {
    mDisplay = Display.getDisplay(this);
    mDisplay.setCurrent(mMainForm);
  }

  public void pauseApp() {}

  public void destroyApp(boolean unconditional) {}

  public void commandAction(Command c, Displayable s) {
    if (c == mExitCommand)
      notifyDestroyed();
    else if (c == mConnectCommand) {
      Form waitForm = new Form("Waiting...");
      mDisplay.setCurrent(waitForm);
      Thread t =  new Thread() {
        public void run() {
          connect();
        }
      };
      t.start();
    }
  }

  private void connect() {
    HttpConnection hc = null;
    InputStream in = null;
    String url = getAppProperty("HitMIDlet.URL");

    try {
      hc = (HttpConnection)Connector.open(url);
      in = hc.openInputStream();

      int contentLength = (int)hc.getLength();
      byte[] raw = new byte[contentLength];
      int length = in.read(raw);

      in.close();
      hc.close();

      // Show the response to the user.
      String s = new String(raw, 0, length);
      mMessageItem.setText(s);
    }
    catch (IOException ioe) {
      mMessageItem.setText(ioe.toString());
    }
    mDisplay.setCurrent(mMainForm);
  }
}

and the servlet (HitServlet)

import javax.servlet.http.*;
import javax.servlet.*;
import java.io.*;

public class HitServlet extends HttpServlet {
  private int mCount;

  public void doGet(HttpServletRequest request,
      HttpServletResponse response)
      throws ServletException, IOException {
    String message = "Hits: " + ++mCount;

    response.setContentType("text/plain");
    response.setContentLength(message.length());
    PrintWriter out = response.getWriter();
    out.println(message);
  }
}  
+1  A: 

Just let Eclipse generate the directory structure. Create two projects. One for J2ME as JavaME> MIDlet project (assuming that you've correctly installed the Mobile Tools plugin) and other for JavaEE as Web > Dynamic Web Project (assuming that you're using Eclipse for Java EE and/or have installed Web Tools plugin separately). Run the J2ME project on the mobile client and run the JavaEE project on Tomcat server.

See also:

BalusC
@Balusc got this exceptionUncaught exception java/lang/IllegalArgumentException: Null URL.
ali
That's a completely different and independent problem/question. Post a new Question about that. In this Question you're asking how to create a directory structure in Eclipse. I've posted an Answer for exactly that.
BalusC
@BlausC sorry i want to ask asAt start i am saying that how j2me application communicat a servletand what is directory structure for them or it it is in different projects OR the both servlet and J2me class will be in one project.
ali
In future questions, please try to [ask questions the smart way](http://catb.org/esr/faqs/smart-questions.html). Although you didn't put question marks anywhere, I understood that you're asking how to create the project because you're stating "I do not know". I've answered that: create two projects using Eclipse's tools. I don't see anywhere in the question body a question about the problems you have, along with the exceptions/errors in detail. You should ask a new question about that. Or edit your question to clarify and I'll delete this answer. Once again: try to ask questions the smart way.
BalusC
@BlauseC ok sir
ali