简单 Java Web 连接数据库实现 <查>
1. 登录界面实现
index.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>用户登录</title>
<link href="https://cdn.staticfile.org/twitter-bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet">
<script src="https://cdn.staticfile.org/jquery/2.1.1/jquery.min.js"></script>
<script src="https://cdn.staticfile.org/twitter-bootstrap/3.3.7/js/bootstrap.min.js"></script>
</head>
<body>
<form action="LoginServlet" >
用户名<input class="form-control" type="text" name="username" placeholder="请输入用户名"><br>
密码<input class="form-control" type="password" name="userpsw"><br>
<input class="btn btn-primary btn-block" type="submit" value="登录">
</form>
</body>
</html>
LoginServlet.java (主要是写 doGet 方法)
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//1.接收网页传来的用户名和密码
//其中参数写jsp中标签的 name 切勿搞错
String uname = request.getParameter("username");
String upsw = request.getParameter("userpsw");
//在数据库中查询有无此人
//2.注册数据库驱动
boolean flag = false;
try {
//这里使用的是 mysql-connector-java-8.0.22,若使用的低版本,参数为 “com.mysql.jdbc.Driver”
Class.forName("com.mysql.cj.jdbc.Driver");
//3.打开数据库连接
//低版本“jdbc:mysql://localhost:3306/数据库名”
String url = "jdbc:mysql://localhost:3306/sws?serverTimezone=GMT%2B8";
Connection conn = DriverManager.getConnection(url ,"root" ,"123456");
//4.定义并准备SQL语句
String sql = "SELECT * FROM users WHERE username = ? AND userpsw = ?";
PreparedStatement pstmt = conn.prepareStatement(sql);
pstmt.setString(1, uname);
pstmt.setString(2, upsw);
//执行SQL语句,得到结果集
ResultSet rs = pstmt.executeQuery();
flag = rs.next();
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
if(flag == true) {
// 跳转到指定的网页
response.sendRedirect("success.jsp");
} else {
response.sendRedirect("fail.jsp");
}
}
2. 实现效果