I'm trying to do a login validation. There are usernames and passwords in SQL database and when a user logs in, I want it to be that it will check whether the username and password is in the database. My current code gives me this error when I login.
Error:
java.lang.NoSuchMethodError: com.login.users.User.validateUser(Ljava/lang/String;Ljava/lang/String;)Ljava/sql/ResultSet;
Here is my code:
=====================
cmotionvalidation.jsp
=====================
<%@ page language="java"
import="java.sql.*, java.io.*, java.lang.*, java.util.*, com.login.users.*"
errorPage="error.jsp" %>
<jsp:useBean id="user" class="com.login.users.User" />
<%@ page contentType="text/html;charset=windows-1252"%>
<%
user.connect();
String username = request.getParameter("j_username");
String password = request.getParameter("j_password");
ResultSet rs = user.validateUser(username, password);
%>
</head>
<body>
<%
if (rs.next())
{
out.println("Welcome");
}
else
{
out.println("You Are not a Valid User");
}
user.disconnect();
%>
<b>
Login</b></font>
</body>
</html>
==============================================
User.java
==============================================
package com.login.users;
import java.sql.*;
import java.util.*;
import java.lang.*;
import java.awt.*;
import java.text.*;
import java.io.*;
public class User {
String error;
Connection con;
public User() {}
public void connect() throws ClassNotFoundException, SQLException, Exception {
try {
System.setProperty("jdbc.drivers", "sun.jdbc.odbc.JdbcOdbcDriver");
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver").newInstance();
con = DriverManager.getConnection("jdbc:odbc:vsme","","");
} catch (ClassNotFoundException cnfe) {
error = "ClassNotFoundException: Could not locate DB driver.";
throw new ClassNotFoundException(error);
} catch (SQLException cnfe) {
error = "SQLException: Could not connect to database.";
throw new SQLException(error);
} catch (Exception e) {
error = "Exception: An unknown error occured while connecting to database.";
throw new Exception (error);
}
}
public void disconnect() throws SQLException {
try {
if ( con != null ) {
con.close();
}
} catch (SQLException sqle) {
error = ("SQLException: Unable to close the database connection.");
throw new SQLException(error);
}
}
public ResultSet validateUser(String strUser, String strPass) throws SQLException, Exception
{
ResultSet rs = null;
try {
String queryString = ("SELECT * FROM user WHERE uname='" + strUser + "' AND passwd='" + strPass + "';");
Statement stmt = con.createStatement();
rs = stmt.executeQuery(queryString);
} catch (SQLException sqle) {
error = "SQLException: Could not execute the query.";
throw new SQLException(error);
} catch (Exception e) {
error = "An exception occured while retrieving users.";
throw new Exception(error);
}
return rs;
}
}
==================================================================
what could be causing the error? and how do i fix it? where's the error in the code? thanks
louise