J2ME, iniciantes tb são programadores

Galeras, vamos juntos aprender sobre J2ME.
por exemplo: alguem sabe como criar uma servlet:

Eu tenho um codigo que envia um e-mail do cel pra net:
Me ajudem no que eu preciso para compilalo, erros.
Valew

import javax.microedition.lcdui.;
import javax.microedition.midlet.MIDlet;
import javax.microedition.midlet.MIDletStateChangeException;
import javax.microedition.io.
;
import java.io.InputStream;
import java.io.PrintStream;

public class SendMail extends MIDlet implements CommandListener {

private String MAIL_SERVER_URL = 
        "http://localhost:8080/examples/servlet/SendMailServlet?";
Display display = null;
List dmenu = null;
TextBox input = null;
TextBox to =null;
TextBox msg =null;
String user = null;
int status =0;
Command backCommand = new Command("Back", Command.BACK, 0);
Command submitCommand = new Command("Submit", Command.OK, 2);
Command exitCommand = new Command("Exit", Command.STOP, 3);
Command okCommand = new Command("OK", Command.OK, 0);
String url = MAIL_SERVER_URL + "u=" + user;

public SendMail() { }

public void startApp()  throws MIDletStateChangeException {
    display = Display.getDisplay(this);
    displayMenu();
}

public void pauseApp() { }

public void destroyApp(boolean unconditional) {
    notifyDestroyed();
}

public void commandAction(Command c,  Displayable d) {
    if(c == exitCommand ) {
        destroyApp(true);
    } else if (c == backCommand) {
        displayMenu();
    } else if (c == submitCommand) {
        user = input.getString();
        doLogin(user);
        
    } else if (c == okCommand) {
        t = new SendThread(input.getString(),to.getString(),
                msg.getString());
        
        showAlert(t.getResponseMessage());
    } else if (d == dmenu) {
        handleMainMenu();
    } else
        loginUser();
}

private void displayMenu() {
    dmenu = new List("Send Email", Choice.IMPLICIT);
    if (user == null)
        dmenu.append("Login", null);
    else
        dmenu.append("Logout", null);
    dmenu.append("Send Mail", null);
    dmenu.addCommand(exitCommand);
    dmenu.setCommandListener(this);
    display.setCurrent(dmenu);
    status = 0;
}

/* Este método pergunta ao usuário seu e-mail e sua senha */
private void loginUser() {
    input = new TextBox(
        "Digite Login/Password (Separado pela /) :", "", 25, 
        TextField.ANY);
    
    input.addCommand(submitCommand);
    input.addCommand(backCommand);
    input.setCommandListener(this);
    display.setCurrent(input);
}

/* Este método executa o inicio de uma sessão */
private void doLogin(String user) {
    StreamConnection c = null;
    InputStream is=null;
    StringBuffer sb = null;
    String err = null;
    
    try {
        c = (StreamConnection)Connector.open(url, Connector.READ_WRITE);
        is = c.openInputStream();
        int ch;
        sb = new StringBuffer();
        while ((ch = is.read()) != -1) {
            sb.append((char)ch);
        }
    } catch(Exception  ex){ err = ex.getMessage(); } finally {
        try {
            if(is!= null) {is.close(); }
            if(c != null) {c.close(); }
        } catch(Exception exp) { err = exp.getMessage(); }
    }
    if (err == null) {
        user = sb.toString();
        
        if (user.indexOf("UsuarioInvalido") >= 0) {
            user = null;
            showAlert("Usuario e senha errados");
        } else {
            input = null;
            dmenu = null;
            displayMenu();
        }
    } else
        showAlert(err); // Necessário para a página de erro
}

private void showAlert(String err) {
    Alert a = new Alert("");
    a.setString(err);
    a.setTimeout(Alert.FOREVER);
    display.setCurrent(a);
}

private void handleMainMenu() {
    int index = dmenu.getSelectedIndex();
    switch(index) {
        case 0 :
            if (user != null) {
                sendeMail();
                break;
            }
        case 1 :
            status = 1;
            loginUser();
            break;
    }
}

/* Este método permite que o usuário cria a mensagem do e-mail*/
private void sendeMail() {
    List menu = new List("Enviar mensagem");
    to = new TextBox("Para :", "", 50, TextField.ANY);
    msg = new TextBox("Mensagem :", "", 250, TextField.ANY);
    menu.append(to);
    menu.append(msg);
    menu.addCommand(okCommand);
    menu.addCommand(exitCommand);
    menu.setCommandListener(this);
    display.setCurrent(menu);
}

public class SendThread implements runnable {
    String user;
    String pwd;
    String to;
    String msg;
    
    public SendThread(String user,String to,String msg) {
        int j = user.indexOf('/');
        if (j > 0) {
            user = user.substring(0,j);
            pwd = user.substring(j+1);
            to = to;
            msg = msg;
        }
    }
    
    /*Este método ob´tem a resposta depois do e-mail ser enviado*/
    public String getResponseMessage() {
        return responseMessage;
    }
    
    /* Este método  envia um POST request para o servlet com os parêmtros
       necessários*/
    public void run() {
        HttpConnection hc = null;
        OutputStream out = null;
        try {
            hc = (HttpConnection)Connector.open(url);
            hc.setRequestMethod(HttpConnection.POST);
            hc.setRequestProperty("Content-Type", "text/plain");
            out = hc.openOutputStream();
            PrintStream pout = new PrintStream(out);
            pout.println(user);
            pout.println(pwd);
            pout.println(mEmail);
            pout.println(mMessage);
            
            InputStream in = hc.openInputStream();
            int length = (int)hc.getLength();
            if (length == -1) length = 255;
            byte[] raw = new byte[length];
            in.read(raw);
            String s = new String(raw);
            String codeString = s.substring(0, 4).trim();
            responseMessage = s.substring(4).trim();
        } finally {
            if (hc != null) hc.close();
            if (out != null) out.close();
        }
    }
}

}

/Servlet para enviar o e-mail/
import java.io.;
import java.text.
;
import java.util.;
import javax.mail.
;
import javax.mail.internet.;
import javax.servlet.http.
;
import javax.servlet.*;

public class SendMailServlet extends HttpServlet {
private String mMailServer;
private DateFormat mDateFormat;

public void init() {
    mMailServer = "SeuServidor.com";  /* meu servidor de e-mail apache*/
    mDateFormat = new SimpleDateFormat("yyyy.MM.dd HH:mm:ss");
}

public void doPost(HttpServletRequest request,
        HttpServletResponse response) throws ServletException, 
        IOException {
    
    BufferedReader in = request.getReader();
    String user = in.readLine();
    String pwd = in.readLine();
    String address = in.readLine();
    
    StringBuffer content = new StringBuffer();
    String line = null;
    while ((line = in.readLine()) != null) {
        content.append(line);
        content.append('\n');
    }
    
    String message = "100 ok";
    
    try {
        sendMail(mMailServer,user,pwd, address, content.toString());
    } catch (Throwable t) {
        message = "200 " + t.toString();
    }
    response.setContentType("text/plain");
    response.setContentLength(message.length());
    PrintWriter out = response.getWriter();
    out.println(message);
    out.flush();
}

/* Este método cria a mensagem e envia para o servidor*/
private void sendMail(String server, String user, 
        String pwd, String address, String content) throws Exception {
    
    Properties p = new Properties();
    p.put("mail.smtp.host", server); /*host do meu servidor*/
    Session s = Session.getDefaultInstance(p, null);
    InternetAddress from = new InternetAddress(user);
    InternetAddress to = new InternetAddress(address);
    MimeMessage m = new MimeMessage(s);
    m.setFrom(from);
    m.addRecipient(Message.RecipientType.TO, to);
    String now = mDateFormat.format(new java.util.Date());
    m.setSubject("Mail from [" + from + "]");
    m.setText(content.toString());
    Transport.send(m);
}

}

Oi irmão!
Bem vindo ao PJ.
Procure usar a tag code em seus códigos.
Isto aumentará as chances de alguém responder.
Um abraço!!

Foi mal cara…iniciante é fpda…como uso isto…
Valew mesmo…
Abraços