jsp file which contains username & password which is processed at LoginServlet…this servlet does the validation in Access db. but i m getting error
if username & password matches with the access db then the page redirect to flat_status.jsp
can any1 help me out..
package Validate;
import java.io.IOException;
import java.io.PrintWriter;
import java.sql.*;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
public class LoginServlet extends HttpServlet{
@Override
public void init(ServletConfig config) throws ServletException
{
super.init(config);
try
{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
}
catch (Exception ex)
{
System.out.println("Initialize connector string");
}
}
@Override
public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException
{
Connection conn;
Statement st;
ResultSet rs;
PrintWriter pw = response.getWriter();
String userName = request.getParameter("username");
String password = request.getParameter("password");
HttpSession session = request.getSession(true);
response.setContentType("text/html");
try
{
conn=DriverManager.getConnection("jdbc:odbc:FBS");
st=conn.createStatement();
rs=st.executeQuery("select UserName,Password from user_login where UserName='"+userName+"' and Password='"+password+"'");
while(rs.next())
{
session.setAttribute("USerName",userName);
RequestDispatcher dispatch=request.getRequestDispatcher("/flat_status.jsp");
dispatch.forward(request, response);
}
st.close();
rs.close();
conn.close();
}
catch (SQLException ex)
{
pw.println(ex);
}
}
}
Here is Exception i m getting in Browser window
java.sql.SQLException: [Microsoft][ODBC Microsoft Access Driver] Data type mismatch in criteria expression.
Always use PreparedStatement and Password is reserved keyword in Ms-Access.