前端登录首页
<%@ page contentType="text/html;charset=UTF-8" language="java" %> <html lang="en"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> </head> <body> <form action="/ABS/Servlet" method="post"> <fieldset style="width: 250px;"> <table> <tr> <td>用户名</td> <td> <input type="text" name="userName" id="b_c"> </td> </tr> <tr> <td>密码</td> <td> <input type="text" name="passWord" id="b_b"> </td> </tr> </table> <button type="submit">登录</button> </fieldset> </form> </body> </html>
前端登录成功界面
<%-- Created by IntelliJ IDEA. User: Administrator Date: 2021/11/30 0030 Time: 15:09 To change this template use File | Settings | File Templates. --%> <%@ page contentType="text/html;charset=UTF-8" language="java" %> <html> <head> <title>Title</title> </head> <body> <p>登陆成功</p> </body> </html>
Java数据库链接类
package com.jdbc; import java.sql.*; public class JDBCUtils { private static final String URL="jdbc:mysql://127.0.0.1:3306/test"; private static final String user="root"; private static final String password="12345678"; static { try { //1.加载驱动程序 Class.forName("com.mysql.cj.jdbc.Driver"); }catch (Exception e){ e.printStackTrace(); } } //获取Connection对象 public static Connection getConnection() throws Exception{ //2.获得数据库链接 return DriverManager.getConnection(URL, user, password); } //关闭资源 public static void close(Connection connection, PreparedStatement preparedStatement, ResultSet resultSet){ if(resultSet!=null){ try { resultSet.close(); } catch (SQLException e) { e.printStackTrace(); } } //关闭PreparedStatement对象 if(preparedStatement!=null){ try { preparedStatement.close(); } catch (SQLException e) { e.printStackTrace(); } } //关闭Connection对象 if(connection!=null){ try { connection.close(); } catch (SQLException e) { e.printStackTrace(); } } } }
判断账号密码是否正确方法,也是数据库查询方法
package comservices; import com.jdbc.JDBCUtils; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; public class LoginServier { /* 检验账号密码登录是否正确 */ public boolean checkLogin(String username,String password){ Connection connection=null; PreparedStatement preparedStatement = null; ResultSet resultSet=null; try { connection =JDBCUtils.getConnection(); preparedStatement=connection.prepareStatement("SELECT COUNT(*) count FROM user_word WHERE user=? AND password=?"); preparedStatement.setString(1,username); preparedStatement.setString(2,password); resultSet = preparedStatement.executeQuery(); resultSet.next();// 读取查询结果点下一行 int count = resultSet.getInt("count"); return count==1?true:false; }catch (Exception e){ e.printStackTrace(); }finally { JDBCUtils.close(connection,preparedStatement,resultSet); } return false; } }
通过Servlet进行调用
package com.servlet; import com.jdbc.JDBCUtils; import comservices.LoginServier; 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; @WebServlet("/Servlet") public class Servlet extends HttpServlet { protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doGet(request,response); } protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { //验证登录 String username = request.getParameter("userName"); String password =request.getParameter("passWord"); LoginServier loginServier = new LoginServier(); boolean result = loginServier.checkLogin(username,password); if (result){ // 重定向 response.sendRedirect("Scoo.jsp"); }else { response.sendRedirect("index.jsp"); } } }