j2me servlet

eu nao sai de um problema ainda e queria ajuda forte na verdade
:roll:

eu tenho uma middlet no celular q tem q acessar um servlet simples e comparar login senha, ainda nao eh o sistema real, eh pra que eu aprenda isto.
mas ta dificil…
kero uma teoria primeiro:
o middlet acessa o servlet pelo http num caminho tipo http://localhost:8080/servlet.loginservlet
ou http://localhost:8080/servlet/loginservlet.jsp
?
me falaram q era sem jsp. porem todo acesso q eu faço no servlet ele abre o jsp… como eu faço pra minha middlet entra direto no .class?

por favor eu me enroskei ja no começo :???:

codigo do servlet:
public class LoginServlet extends HttpServlet
{
protected void doGet(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException
{
String login = req.getParameter(“login”), senha = req.getParameter(“senha”);
String loginSistema, senhaSistema;
loginSistema = new String(“nome”);
senhaSistema = new String(“123”);
if (login == loginSistema && senha == senhaSistema)
{
res.setContentType(“text/plain”);
PrintWriter out = res.getWriter();
out.print(“Conectado”);
out.close();
}
else
{
res.sendError(HttpServletResponse.SC_BAD_REQUEST,“Não foi possível”);
return;
}
}
public String getServletInfo()
{
return “Autenticação de Usuário - Compels”;
}

}

Codigo da middlet

public class LoginMiddlet extends MIDlet implements CommandListener {

private Display display; 
private Form fmMain; 
private Command cmGet; 
private Command cmExit;
private TextField tfLogin; 
private TextField tfSenha; 
private String errorMsg = null; 

private LoginGet loginGet;

public LoginMiddlet()
{
    display = Display.getDisplay(this);

    cmGet = new Command("Logar", Command.SCREEN, 2);
    cmExit = new Command("Sair", Command.SCREEN, 1);

    tfLogin = new TextField("User:", "", 10, TextField.ANY);
    tfSenha = new TextField("Senha:", "", 10, TextField.ANY | TextField.PASSWORD);

    fmMain = new Form("Login ao Sistema");
    fmMain.addCommand(cmExit);
    fmMain.addCommand(cmGet);

    fmMain.append(tfLogin);
    fmMain.append(tfSenha);

    fmMain.setCommandListener(this);
}

protected void startApp(){
    display.setCurrent(fmMain);
}

protected void pauseApp(){
}

protected void destroyApp( boolean unconditional ) throws MIDletStateChangeException{
}

public void commandAction( Command c , Displayable s ){
    if ( c == cmGet ){
        try{
            loginGet = new LoginGet(tfLogin.getString(), tfSenha.getString());
            verificaConexao();
        } catch ( Exception e ){
            System.err.println("Msg: " + e.toString());
        }
    }
    if ( c == cmExit ){
        try{
            destroyApp(false);
        } catch ( MIDletStateChangeException e ){
            e.printStackTrace();
        }
        notifyDestroyed();
    }
}

public void verificaConexao(){
    try{
        if ( loginGet.getHttp().getResponseCode() == HttpConnection.HTTP_OK ){
            loginGet.setInStream(loginGet.getHttp().openInputStream());
            int lenght = (int) loginGet.getHttp().getLength();
            if ( lenght > 0 ){
                byte dados[] = new byte[lenght];
                char data[] = new char[lenght];
                int j = 0;
                loginGet.getInStream().read(dados);
                for (int i = 0; i < lenght; i++ ){
                    data[j] = (char) dados[i];
                    j++;
                }
                String dadosRetorno = new String(data);
                if ( dadosRetorno.trim().equals("ok") ){
                    Alert alert = new Alert("Ok", "Conectado", null, AlertType.CONFIRMATION);
                    alert.setTimeout(5000);
                    display.setCurrent(alert, fmMain);
                }
            }
        } else
            fmMain.append("Nao Conectado");
    } catch ( IOException e ){
        e.printStackTrace();
    }
}

}

class LoginGet extends Thread {

String login, senha;
HttpConnection http = null;
OutputStream outStream = null;
InputStream inStream = null;

public String getLogin()
{
    return login;
}
public String getSenha()
{
    return senha;
}
public HttpConnection getHttp()
{
    return http;
}
public OutputStream getOutStream()
{
    return outStream;
}
public InputStream getInStream()
{
    return inStream;
}
public void setHttp( HttpConnection http ){
    this.http = http;
}
public void setInStream( InputStream inStream ){
    this.inStream = inStream;
}
public void setLogin( String login ){
    this.login = login;
}
public void setOutStream( OutputStream outStream ){
    this.outStream = outStream;
}
public void setSenha( String senha ){
    this.senha = senha;
}

public LoginGet( String login , String senha ) {
    this.login = login;
    this.senha = senha;
}

public void run(){
    boolean ret = false;
    String url = "http://127.0.0.1:8080/Servlets.LoginServlet" + "?" +  "login=" + login + "&" + "senha=" + senha;
    try{
        http = (HttpConnection) Connector.open(url);
        http.setRequestMethod( ( HttpConnection.GET ));
    }catch ( IOException e ){
      //TODO
    } finally{
        if ( inStream != null )
            try{
                inStream.close();
            } catch ( IOException e1 ){
                e1.printStackTrace();
            }
        if ( outStream != null )
            try{
                outStream.close();
            } catch ( IOException e2 ){
                e2.printStackTrace();
            }
        if ( http != null )
            try{
                http.close();
            } catch ( IOException e3 ){
                e3.printStackTrace();
            }
    }
}

}

Meu web.xml

<?xml version=“1.0”?>
<!DOCTYPE web-app PUBLIC
“-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN”
http://java.sun.com/dtd/web-app_2_3.dtd”>

<web-app>
<servlet>
<servlet-name>LoginServlet</servlet-name>
<servlet-class>Servlets.LoginServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>LoginServlet</servlet-name>
<url-pattern>/Servlets/LoginServlet</url-pattern>
</servlet-mapping>
<security-role>
<role-name>JBossAdmin</role-name>
</security-role>
</web-app>

sei que fui retardado em por tudo.
mas o desespero ja chegou neste ponto
:oops:

Salve,

Amigo, é simples, quando você declara servlet-mapping na descritiva você utiliza para acessá-lo o conteúdo que você inseriu em seu <url-pattern> ou seja você acessará da seguinte forma: http://seudominio:porta/servlets/LoginServlet

Dica: quando for referenciar pacotes use minúcula: Servlet >> servlet :wink: :idea:

opa marcos, valeu!!!
so tem um problema, da na mesma… :frowning:
os codigos estao certos?
to usando o lomboz pra deploya isto e o jboss4 pra roda…