获取无效的用户名和密码消息,即使通过Servlet在html中插入有效值

问题描述 投票:0回答:1

我的数据库:CLICK HERE FOR IMAGE ::---database values

验证码在这里: -

import java.sql.*;

public class loginvalidate
{
public static boolean checkUser(String email,String pass)
{


    boolean st =false;
    try{

        //loading drivers for mysql
        Class.forName("com.mysql.jdbc.Driver");

        //creating connection with the database
        Connection con=DriverManager.getConnection

        ("jdbc:mysql://localhost:3306/conferencesystem","root","root");
        PreparedStatement ps =con.prepareStatement
                ("select * from author where a_email=? and a_pwd=?");
        ps.setString(1, email);
        ps.setString(2, pass);
        ResultSet rs =ps.executeQuery();
        st = rs.next();

    }catch(Exception e)
    {
        e.printStackTrace();
    }
    return st;
}
}

[CLICK HERE FOR IMAGE ::--- Login page Image HERE

登录PAGE SERVLET PAGE HERE :: -

import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;

@WebServlet(name = "Loginservlet")
public class Loginservlet extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse 
response) throws ServletException, IOException {

    response.setContentType("text/html;charset=UTF-8");
    PrintWriter out = response.getWriter();

    String email = request.getParameter("email");
    String pass = request.getParameter("pass");

    if(loginvalidate.checkUser(email, pass))
    {
        RequestDispatcher rs = request.getRequestDispatcher("Welcome");
        rs.forward(request, response);
    }
    else
    {
        out.println("Username or Password incorrect");
        RequestDispatcher rs = request.getRequestDispatcher("index.html");
        rs.include(request, response);
    }
  }




protected void doGet(HttpServletRequest request, HttpServletResponse 
response) throws ServletException, IOException {

}
}

[CLICK HERE FOR IMAGE ::--- AFTER ENTERING DETAILS AT LOGIN PAGE

a_email和a_pwd字段除外,请帮我成功验证问题,我在这里做错了什么,只是说,我不知道怎么做,但不知怎的,我得到这个代码验证登录页面是不工作,我想我在这里遗漏了一些东西,我现在正在学习Servlets。谢谢...

servlets jdbc
1个回答
0
投票

我知道了!

正确的守则是: -

try {
        Class.forName("com.mysql.jdbc.Driver");
        Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/conferencesystem", "root", "root");
        PreparedStatement pst = conn.prepareStatement("Select a_email,a_pwd from author where a_email=? and a_pwd= ? ");
        pst.setString(1, email);
        pst.setString(2, pass);
        ResultSet rs = pst.executeQuery();
        if (rs.next()) {
            out.println("<html>");
            out.println("<head></head>");
            out.println("<body>");
            out.println("<h1>Correct login credentials</h1>");
            out.println("</body>");
            out.println("</html>");
        }
        else {
            out.println("Incorrect login credentials");
        }
    }

CHECK OUT THIS IMAGE!!

© www.soinside.com 2019 - 2024. All rights reserved.