File APIs for Java Developers
Manipulate DOC, XLS, PPT, PDF and many others from your application.
http://aspose.com/file-tools
The moose likes Java Micro Edition and the fly likes needs help Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login


Win a copy of Murach's Java Servlets and JSP this week in the Servlets forum!
JavaRanch » Java Forums » Mobile » Java Micro Edition
Bookmark "needs help" Watch "needs help" New topic
Author

needs help

endashaw wolde
Greenhorn

Joined: Apr 15, 2013
Posts: 2
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. Please help me find out what could be wrong with either my midlet code or servlet code that makes my reponse not be as would be.

here is the midlet for login:



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;
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:



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();
}
}
}
 
I agree. Here's the link: http://aspose.com/file-tools
 
subject: needs help
 
Similar Threads
GPRS + J2ME Related queires
I have 3 midlets but code to be displayed should be in first midlet .
J2ME, servlet and database help..
Network error in first Servletjava.lang.NullPointerException in java wireless toolkit
failing to get login right from servlet and midlet