сервлет общаться с J2me Project? - PullRequest
2 голосов
/ 22 июля 2010

Я работаю с Eclipse для разработки приложения в J2ME. В этом приложении я использую сервлет HitServlet и HitMIDlet класса J2me.Я хочу запустить этот проект с использованием Eclipse. Но я не знаю, что такое структура каталогов и как я делаю структуру каталогов.Я уже настроил плагин J2ME и Tomcat в моем затмении.Но я не знаю, какова структура каталогов моих классов в моем затмении.Чтобы получить правильный выход.Я хочу, чтобы при запуске класса j2me (HitMIDlet) он попадал в сервлет (HitServlet) и выдавал.

это мой код класса J2me:

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

и сервлет (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 Ответ

0 голосов
/ 22 июля 2010

Просто позвольте Eclipse сгенерировать структуру каталогов.Создайте два проекта.Один для J2ME как JavaME> проект MIDlet (при условии, что вы правильно установили плагин Mobile Tools ), а другой для JavaEE как Web> Динамический веб-проект (предполагается, что вы используете Eclipse для Java EE и / или отдельно установили плагин Web Tools ).Запустите проект J2ME на мобильном клиенте и запустите проект JavaEE на сервере Tomcat.

См. Также:

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...