Java利用JDBC连接到数据库
一.首先创建一个数据库zzkdb
1.然后里面创建一个名为t_user的表,具体如下:
2.在表里面添加数据
二:实例演示
1.创建一个新的项目名为LoginJDBCDemo01
运行之后发现名字太长,我们可以修改。
修改给谷歌浏览器,并且把名称该了
然后将应用程序上下文的名称修改了
这样以来就已经改好了,不过还是比较推荐进行手动配置
在login里面写入以下代码:
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8" %>
<html>
<head>
<title>用户登录</title>
</head>
<body>
<h3 style="text-align: center">用户登录</h3>
<form action="do_login.jsp" method="post">
<table border="1" cellpadding="10" style="margin: 0px auto">
<tr>
<td align="center">用户名</td>
<td><input type="text" name="username"/></td>
</tr>
<tr>
<td align="center">密 码</td>
<td><input type="password" name="password"/></td>
</tr>
<tr align="center">
<td colspan="2">
<input type="submit" value="登录"/>
<input type="reset" value="重置"/>
</td>
</tr>
</table>
</form>
<%
String errMsg = (String) session.getAttribute("errMsg");
if (errMsg != null) {
out.println("<p style='text-align: center; color: red'>" + new String(errMsg.getBytes("ISO-8859-1"), "utf-8") + "</p>");
}
%>
</body>
</html>
在Web_Inf中创建一个lib
把架包放进去并且添加
然后创建一个jsp文件do_login
代码:
<%@ page import="java.net.URLEncoder" %>
<%@ page import="java.sql.*" %><%
//设置请求对象字符编码
request.setCharacterEncoding("utf-8");
//获取表单提交的数据
String username = request.getParameter("username");
String password = request.getParameter("password");
//设置连接数据库的参数值
final String DRIVER = "com.mysql.jdbc.Driver";
final String URL = "jdbc:mysql://localhost:3306/zzkdb"; //协议+本地端口号+数据库名字
final String USER = "root";
final String PASSWORD = "123";
try {
//安装数据库驱动程序
Class.forName(DRIVER);
//获取数据库连接
Connection conn = DriverManager.getConnection(URL + "?useUnicode=true&characterEncoding=utf-8",USER,PASSWORD);
//定义SQL字符串
String strSQL = "select * from t_user where username = ? and password = ?";
//创建预备语句对象
PreparedStatement pstmt = conn.prepareStatement(strSQL);
//设置占位符的值
pstmt.setString(1,username);
pstmt.setString(2,password);
//执行SQL查询语句,返回结果集
ResultSet rs = pstmt.executeQuery();
//判断结果集里是否有记录
if (rs.next()) {
//清除session里可能存在的属性值
if (session.getAttribute("errMsg") != null) {
session.removeAttribute("errMsg") ;
}
//采用重定向,跳转到登录成功页面
response.sendRedirect("success.jsp?username" + URLEncoder.encode(username,"utf-8"));
} else {
//设置session的属性值
session.setAttribute("errMsg","用户名或密码错误!请重新登录!");
//采用重定向跳转到登录页面
response.sendRedirect("login.jsp");
}
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}
%>
之后创建一个success的jsp,实现登录成功的跳转显示
<%--
Created by IntelliJ IDEA.
User: 23684
Date: 2019/9/30
Time: 9:37
To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>登录成功</title>
</head>
<body>
<h3><%= request.getParameter("username") %>,登录成功!</h3>
</body>
</html>
最后演示结果: