用户登录程序实现(JSP+JDBC)
用户登录操作必然都保存在数据表中,用户输入用户名和密码,进行验证。若输入正确,则登录成功,若不正确则登录失败。
一、数据表创建
netstart mysql 启动mysql服务
mysql–uroot –pmysqladmin 进入mysql
showdatabases; 查看数据库
/*=======使用MLDN数据库=========*/
USEmldn;
/*=======删除user数据表=========*/
DROPTABLE IF EXISTS user;
/*=======创建user数据表=========*/
CREATETABLE user(
userid VARCHAR(30) PRIMARY KEY,
name VARCHAR(30) NOT NULL,
password VARCHAR(20) NOT NULL
);
/*=======插入测试数据=========*/
INSERTINTO user(userid, name, password) VALUES("admin", "admin","admin");
二、页面设计
Login.htm 提供用户登录表单
<html> <head><title>login</title></head> <body> <center> <h1>登陆操作</h1> <hr> <form action="login_check.jsp" method="post"> <table border="1"> <tr> <td colspan="2"> 用户登陆 </td> </tr> <tr> <td>登陆ID:</td> <td><input type="text" name="id"></td> </tr> <tr> <td>登陆密码:</td> <td><input type="password" name="password"></td> </tr> <tr> <td colspan="2"> <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>login</title></head> <body> <center> <h1>登陆操作</h1> <hr> <%! // 定义若干个数据库的连接常量 public static final String DBDRIVER = "org.gjt.mm.mysql.Driver" ; public static final String DBURL = "jdbc:mysql://localhost:3306/mldn" ; public static final String DBUSER = "root" ; public static final String DBPASS = "mysqladmin" ; %> <% Connection conn = null ; // 数据库连接 PreparedStatement pstmt = null ; // 数据库预处理操作 ResultSet rs = null ; // 查询要处理结果集 boolean flag = false ; // 保存标记 String name = null ; // 保存真实姓名 %> <% 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()){ // 如果有数据,则可以执行 flag = true ; // 表示登陆成功 name = rs.getString(1) ; } %> <% }catch(Exception e) { e.printStackTrace() ; } finally{ try{ rs.close() ; pstmt.close() ; conn.close() ; } catch(Exception e){} } %> <% if(flag){ // 登陆成功 %> <jsp:forward page="login_success.jsp"> <jsp:param name="uname" value="<%=name%>"/> </jsp:forward> <% } else { // 登陆失败 %> <jsp:forward page="login_failure.htm"/> <% } %> </center> </body> </html>
Login_sucess.jsp 成功页面
<%@page contentType="text/html" pageEncoding="GBK"%> <html> <head><title>login</title></head> <body> <center> <h1>登陆操作</h1> <h2>登陆成功</h2> <h2>欢迎<font color="red"><%=request.getParameter("uname")%></font>光临!</h2> </center> </body> </html>
Login_failure.htm 失败页面
<html> <head><title>login</title></head> <body> <center> <h1>登陆操作</h1> <h2>登陆失败,请重新<a href="login.htm">登陆</a>!</h2> </center> </body> </html>
以上内容参考JAVAWEB开发实战经典(名师讲坛)
时间: 2024-08-10 18:05:44