创建数据库表
1.DOS命令,登录MySQL数据库
2.创建一个数据库users
3。查看一下数据库是否创建成功
4.使用users数据库,数据库就会切换成users,否则接下来的操作会报错
5.在数据库中创建一个表user,定义列的字段属性约束
6.在表user里插入一行数据(之后可以用来检测JDBC和MySQL是否连接上了,登录验证页面是否能跳转成功)
7.查看user表的数据,看刚刚的数据是否录入表内
程序实现思路(相关页面阐述)
-
login.jsp:提供用户的登录表单,可以输入用户id和密码;
-
login_check.jsp:登录检查页,根据表单提交数据验证权限,并跳转到登录成功页或失败页;
-
login_success.jsp:登录成功页,显示欢迎信息;
-
login_failure.jsp:登录失败页,提示错误,并提供重新登录超链接。
程序实现
- 登录页面(login.jsp)把第一行代码删掉可以写成login.htm
<%@ page contentType="text/html" pageEncoding="GBK"%>
<html>
<head>
<title>登录页面</title>
</head>
<body>
<h1>欢迎来到登录页面:</h1>
<center>
<form method="post" action="login_check.jsp">
<table style="240" border="1" cellspacing="0">
<tr>
<td colspan="2" align="center">用户登录</td>
</tr>
<tr>
<td>用户名:</td>
<td><input type="text" name="id"/></td>
</tr>
<tr>
<td>密 码:</td>
<td><input type="text" name="password"/></td>
</tr>
<tr>
<td colspan="2" align="center">
<input type="submit" value="登录">
<input type="reset" value="重置">
</td>
</tr>
</table>
</form>
</center>
</body>
</html>
- 登录验证页面(login_check.jsp)
<%@ page contentType="text/html" pageEncoding="GBK"%>
<%@ page import="java.sql.*"%>
<html>
<head>
<title>登录验证</title>
</head>
<body>
<%!
//定义数据库驱动程序
public static final String DBDRIVER = "org.gjt.mm.mysql.Driver";
//数据库连接地址
public static final String DBURL = "jdbc:mysql://localhost:3306/你的数据库名称";
public static final String DBUSER = "你的用户名"; //数据库连接用户名
public static final String DBPASS = "你的密码"; //数据库连接密码
%>
<%
Connection conn = null; //声明数据库连接对象
PreparedStatement pstmt = null; //声明数据库操作
ResultSet rs = null; //声明数据库结果集
boolean flag = false; //定义标志位
String name = null; //接收用户的真实姓名
%>
<% //JDBC操作会抛出异常,使用try...catch处理 书P119
try {
Class.forName(DBDRIVER);
conn = DriverManager.getConnection(DBURL,DBUSER,DBPASS);
String sql = "SELECT name FROM user WHERE userid=? AND password=?";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1,request.getParameter("id"));
pstmt.setString(2,request.getParameter("password"));
rs = pstmt.executeQuery();
if (rs.next()) {
name = rs.getString(1);
flag = true;
}
} catch (Exception e) {
System.out.println(e);
} finally {
try {
rs.close();
pstmt.close();
conn.close();
} catch (Exception e) {}
}
%>
<%
if (flag) {
%>
<jsp:forward page="login_success.jsp">
<jsp:param name="username" value="<%=name%>"/>
</jsp:forward>
<%
} else {
%>
<jsp:forward page="login_failure.jsp"/>
<%
}
%>
</body>
</html>
- 登录成功页面(login_success.jsp)
<%@ page contentType="text/html" pageEncoding="GBK"%>
<html>
<head>
<title>登录成功</title>
</head>
<body>
<center>
<h1>登录操作</h1>
<hr>
<h2>用户名为<font color="red"><%=request.getParameter("username")%></font>的用户,您已登录成功!</h2>
<h2>欢迎您的光临!</h2>
</center>
</body>
</html>
- 登录失败页面(login_failure.jsp)把第一行代码删掉可以写成llogin_failure.htm
<%@ page contentType="text/html" pageEncoding="GBK"%>
<html>
<head>
<title>登录失败</title>
</head>
<body>
<center>
<h1>登录操作</h1>
<hr>
<h2>登录失败,请重新登录!</h2>
<a href="login.jsp">点击返回</a>
</center>
</body>
</html>
效果图
- 登录页面
- 登录成功页面
- 登录失败页面
遇到的问题:
代码无误可登录总是失败
解决方法:
检查一下是否引入了mysql 驱动包。
查看创建的项目\WebContent\WEB-INF\lib,如果没有下图框出的jar包,则选中lib,把mysql的Jar包粘贴上就可以了
jar包详细下载的方法:https://blog.csdn.net/qq_40453972/article/details/88027891
以上即是该实验的相关过程和结果,参考书籍:《Java Web开发实战经典》(基础篇)