標籤:資料庫連接
使用者登入程式實現(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開發實戰經典(名師講壇)
01_05 JSP基礎文法之實戰(資料庫驗證登入頁面)