Java para Dispositivos Móveis - Desenvolvendo Aplicações com J2ME Capítulo 14 - LoginMidlet2.java /* Java para Dispositivos Móveis - Desenvolvendo aplicações com J2ME por Thienne M. Johnson Novatec Editora LTDa ISBN: 978-85-7522-143-3 */ import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import javax.microedition.io.Connector; import javax.microedition.io.HttpConnection; import javax.microedition.lcdui.Alert; import javax.microedition.lcdui.Form; import javax.microedition.lcdui.AlertType; import javax.microedition.lcdui.Command; import javax.microedition.lcdui.CommandListener; import javax.microedition.lcdui.Display; import javax.microedition.lcdui.Displayable; import javax.microedition.lcdui.TextBox; import javax.microedition.lcdui.TextField; import javax.microedition.midlet.MIDlet; public class LoginMidlet2 extends MIDlet implements CommandListener, Runnable { private Display display; private Form tlogin; private TextField nome; private TextField senha; private TextBox tlogado; private Alert alertalogin; private Alert alertaerro; private Command cancelar; private Command login; private String resposta = null; private Thread t = null; String URL = "http://localhost:8080/MyServlets/LoginServlet2"; public LoginMidlet2() { tlogin = new Form("Login do Aplicativo"); tlogado = new TextBox("Usuario Validado","", 20, TextField.ANY); cancelar = new Command("Cancelar", Command.EXIT, 0); login = new Command("OK", Command.OK, 1); alertaerro = new Alert("Login Incorreto", "Tente Novamente", null, AlertType.ERROR); nome = new TextField ("Nome:", "", 20, TextField.ANY); senha = new TextField ("Senha:", "", 10, TextField.PASSWORD); } public void startApp() { display = Display.getDisplay(this); tlogin.append(nome); tlogin.append(senha); tlogin.addCommand(cancelar); tlogin.addCommand(login); tlogin.setCommandListener(this); display.setCurrent(tlogin); tlogado.addCommand(cancelar); } public void pauseApp() { } public void destroyApp(boolean unconditional) { notifyDestroyed(); http://j2me.datamazon.com Fornecido por Joomla! Produzido em: 28 May, 2017, 07:42 Java para Dispositivos Móveis - Desenvolvendo Aplicações com J2ME } public void tenteNovamente() { alertaerro.setTimeout(Alert.FOREVER); nome.setString(""); senha.setString(""); display.setCurrent(alertaerro, tlogin); } public void chamaServlet() throws IOException { HttpConnection conexao = null; OutputStream OS = null; InputStream IS = null; StringBuffer buff = new StringBuffer(); try { conexao = (HttpConnection)Connector.open(URL); conexao.setRequestMethod(HttpConnection.POST); conexao.setRequestProperty("IF-Modified-Since", "20 Jan 2001 16:19:14 GMT"); conexao.setRequestProperty("User-Agent","Profile/MIDP-1.0 Configuration/CLDC-1.0"); conexao.setRequestProperty("Content-Language", "en-CA"); OS = conexao.openOutputStream(); byte mensagemPost[] = (nome.getString()+","+senha.getString()).getBytes(); for(int i=0;i<mensagemPost.length;i++) { OS.write(mensagemPost[i]); } OS.flush(); IS = conexao.openInputStream(); int dadosEntrada; while ((dadosEntrada = IS.read()) != -1) { buff.append((char) dadosEntrada); } resposta = buff.toString(); if (resposta.startsWith("validado")) { //usuario cadastrado alertalogin = new Alert ("Login","Usuário validado!",null, AlertType.CONFIRMATION); alertalogin.setTimeout(Alert.FOREVER); tlogado.setString("Bem vindo(a)!"); tlogado.setCommandListener(this); display.setCurrent(alertalogin,tlogado); } else { //usuario não encontrado tenteNovamente(); } } finally { if(OS!= null) { OS.close(); } if(IS!= null) { IS.close(); } if(conexao != null) { conexao.close(); } } } private void connectThread(){ t = new Thread(this); t.start(); } public void run(){ try{chamaServlet();}catch (Exception e){} } public void commandAction(Command c, Displayable d) { String label = c.getLabel(); http://j2me.datamazon.com Fornecido por Joomla! Produzido em: 28 May, 2017, 07:42 Java para Dispositivos Móveis - Desenvolvendo Aplicações com J2ME if(label.equals("Cancelar")) { destroyApp(true); // fecha a aplicação }else if(label.equals("OK")) { connectThread(); } } } http://j2me.datamazon.com Fornecido por Joomla! Produzido em: 28 May, 2017, 07:42