×

Discussion Board

Results 1 to 3 of 3
  1. #1
    Registered User
    Join Date
    Apr 2013
    Posts
    3

    Exclamation mobile application using J2ME

    Hello, I made a program where I enter username and password from midlet and send them to servlet which checks the username and password in a mysql database. The servlet is to send a response “valid” to the midlet if the username and password exist or “invalid” if they don’t. But when I run the program the response recieved on the midlet side that I get on the emulator is always “valid” even with wrong username and password and displays empty MainMenu.
    What is wrong with my code. Find out my problem and tell me the exact solutions. I am using netbeans 7.2 and 7.3


    here is the midlet for login:
    Code:
    
    import javax.microedition.lcdui.*;
    import javax.microedition.io.*;
    import java.io.*;
    public class LoginScreen implements CommandListener,Runnable,ItemCommandListener
    {
    Form login;
    static TextField un;
    TextField pwd;
    Command Submit;
    view plaincopy to clipboardprint?
    Note: Text content in the code blocks is automatically word-wrapped
    
          
    
    
    Command Cancel,Exit;
    StringItem submit,cancel;
    Alert alert;
    
    Thread thr1;
    static String name,gender;
    Image invaliduser,warning;
    
    public LoginScreen()
    {
    login=new Form("LOGIN FORM");
    un=new TextField("LOGINID","",30,TextField.ANY);
    un.setLayout(3);
    submit=new StringItem("","SUBMIT",StringItem.BUTTON);
    cancel=new StringItem("","CLEAR",StringItem.BUTTON);
    pwd=new TextField("PASSWORD","",30,TextField.PASSWORD);
    Submit=new Command("SUBMIT",Command.ITEM,1);
    Cancel=new Command("CLEAR",Command.ITEM,1);
    Exit=new Command("Exit",Command.BACK,0);
    try
    {
    invaliduser=Image.createImage("/invaliduser.png");
    warning=Image.createImage("/warning.png");
    }
    catch (Exception e)
    {
    e.printStackTrace();
    }
    }
    public Form loginFormMethod()
    {
    login.append(un);
    login.append(pwd);
    login.addCommand(Exit);
    login.append(submit);
    submit.setDefaultCommand(Submit);
    submit.setItemCommandListener(this);
    login.append(cancel);
    cancel.setDefaultCommand(Cancel);
    cancel.setItemCommandListener(this);
    login.setCommandListener(this);
    return login;
    }
    
    public void commandAction(Command cmd,Item item)
    {
    if(item==submit)
    {
    String sid1=un.getString();
    String password1=pwd.getString();
    if(sid1.equals(""))
    {
    alert=new Alert("confirmation");
    alert.setImage(warning);
    alert.setString("Please enter username");
    Login.dis.setCurrent(alert);
    }
    else if(password1.equals(""))
    {
    alert=new Alert("confirmation");
    alert.setImage(warning);
    alert.setString("Please enter password");
    Login.dis.setCurrent(alert);
    }
    else
    {
    thr1=new Thread(this);
    thr1.start();
    }
    }
    if(item==cancel)
    {
    un.setString("");
    pwd.setString("");
    }
    
    }
    
    public void commandAction(Command cmd,Displayable disp)
    {
    
    if(cmd==Exit)
    {
    Login.destroy.destroyMethod();
    }
    
    }
    
    public void run()
    {
    String result="";
    try
    {
    String sid=un.getString();
    System.out.println("name"+sid);
    
    String password=pwd.getString();
    System.out.println("pwd"+password);
    String url="http://localhost:4040/web/LoginServlet?un="+sid+"&pwd="+password;
    System.out.println("Query "+url);
    StreamConnection sc=(StreamConnection) Connector.open(url.replace(' ','+'));
    DataInputStream dis=sc.openDataInputStream();
    int i=dis.read();
    while(i!=-1)
    {
    //System.out.println("Value "+i);
    result=result+(char)i;
    i=dis.read();
    }
    }
    catch(Exception e)
    {
    e.printStackTrace();
    }
    alert=new Alert("confirmation");
    result=result.trim();
    System.out.println(result.length());
    if(result.equals("invalid"))
    {
    System.out.println("Invalid User");
    alert.setImage(invaliduser);
    alert.setString("Invalid User");
    Login.dis.setCurrent(alert);
    }
    else
    {
    System.out.println("Valid User");
    // alert.setImage(invaliduser);
    alert.setString("Valid User");
    Login.dis.setCurrent(alert);
    
    MainMenuScreen mms=new MainMenuScreen();
    Login.dis.setCurrent(mms.mainMenuMethod());
    
    }
    
    }
    }
    And Here is the servlets of Login:
    Code:
    
    import javax.servlet.*;
    import javax.servlet.http.*;
    import java.sql.*;
    import java.io.*;
    public class LoginServlet extends HttpServlet
    {
    public void doGet(HttpServletRequest req,HttpServletResponse res) throws ServletException,IOException
    {
    try
    {
    System.out.println("Entered loginservlet");
    String loginid=req.getParameter("un");
    String password=req.getParameter("pwd");
    System.out.println("name"+loginid);
    System.out.println("pwd"+password);
    PrintWriter pw=res.getWriter();
    //pw.println("Name "+loginid);
    //pw.println("Password "+password);
    
    Class.forName("com.mysql.jdbc.Driver");
    
    Connection con=DriverManager.getConnection("jdbc:mysql://localhost:3306/mobile","root","root");
    
    Statement st=con.createStatement();
    
    ResultSet rs=st.executeQuery("select * from login where loginid='"+loginid+"' and password='"+password+"'");
    
    if(rs.next())
    {
    System.out.println(rs.getString(1));
    pw.println("Valid User");
    }
    else
    {
    pw.println("invalid");
    }
    }
    catch(Exception e)
    {
    e.printStackTrace();
    }
    }
    }

  2. #2
    Regular Contributor
    Join Date
    Mar 2005
    Location
    Hamburg, Germany
    Posts
    284

    Re: mobile application using J2ME

    Hello endashawwolde,

    you landed in a wrong forum. There are forms special for java:
    http://www.developer.nokia.com/Commu...e-Java-General

    But before asking, you should find out yourself if the error is in the client side or an the server side.
    You should find a way to test your server independent from the phone client. You will need it, because unless you are a super-developer, it will not be the last error you need to find.
    For example you may test your server with a browser.

    By the way: you also need to read about SQL-Injection before you put your server on the internet.

    Regards

    Karsten Meier

  3. #3
    Registered User
    Join Date
    Apr 2013
    Posts
    3

    Re: mobile application using J2ME

    Hello internerlabor,

    Thank you for your great advice!

Similar Threads

  1. How to run J2me application in Android mobile?
    By ajitkumar26 in forum Mobile Java General
    Replies: 13
    Last Post: 2012-02-23, 12:26
  2. J2ME Application for SPICE Mobile
    By rajan701v in forum Mobile Java General
    Replies: 1
    Last Post: 2010-12-18, 18:48
  3. How to run j2me application on windows mobile?
    By ajitkumar26 in forum Mobile Java General
    Replies: 5
    Last Post: 2010-08-04, 10:49
  4. Running Mobile application in J2ME WTK via OTA but not in Mobile
    By jayamnkl in forum Mobile Java General
    Replies: 8
    Last Post: 2009-04-21, 08:24
  5. How can use mobile camara as a PC web cam using j2me application?
    By Namdeo in forum Mobile Java Media (Graphics & Sounds)
    Replies: 1
    Last Post: 2007-09-01, 17:13

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  
×