JavaServer Pages(JSP)是Java技術(shù)的一種服務(wù)器端動(dòng)態(tài)網(wǎng)頁(yè)技術(shù)。結(jié)合MySQL數(shù)據(jù)庫(kù),可以實(shí)現(xiàn)用戶(hù)注冊(cè)和登錄。
首先,需要下載并安裝MySQL數(shù)據(jù)庫(kù)。安裝完成后,打開(kāi)MySQL命令行客戶(hù)端,創(chuàng)建一個(gè)名為“test”的數(shù)據(jù)庫(kù),如下所示:
create database test;
接著,創(chuàng)建一個(gè)名為“user”的數(shù)據(jù)表,包含id、username和password三個(gè)字段,id為主鍵并自增,如下所示:
create table user( id int(11) not null auto_increment, username varchar(50) not null, password varchar(50) not null, primary key(id) );
然后,在Eclipse中創(chuàng)建一個(gè)動(dòng)態(tài)Web項(xiàng)目。在項(xiàng)目中創(chuàng)建一個(gè)名為“WEB-INF”的文件夾,在該文件夾下創(chuàng)建一個(gè)名為“l(fā)ib”的文件夾,將mysql-connector-java.jar文件拷貝至該文件夾下。
接著,在jsp頁(yè)面中連接數(shù)據(jù)庫(kù),實(shí)現(xiàn)用戶(hù)注冊(cè)和登錄。以下是示例代碼:
<%@ page import="java.sql.*" %><% Connection conn = null; PreparedStatement pstmt = null; ResultSet rs = null; String driver = "com.mysql.jdbc.Driver"; String url = "jdbc:mysql://localhost:3306/test"; String user = "root"; String password = "root"; String sql = ""; String username = ""; String pwd = ""; String message = ""; try { Class.forName(driver); conn = DriverManager.getConnection(url, user, password); if(request.getParameter("submit") != null) { username = request.getParameter("username"); pwd = request.getParameter("pwd"); sql = "insert into user(username, password) values (?, ?)"; pstmt = conn.prepareStatement(sql); pstmt.setString(1, username); pstmt.setString(2, pwd); pstmt.executeUpdate(); message = "注冊(cè)成功!"; } else if(request.getParameter("login") != null) { username = request.getParameter("username"); pwd = request.getParameter("pwd"); sql = "select * from user where username = ? and password = ?"; pstmt = conn.prepareStatement(sql); pstmt.setString(1, username); pstmt.setString(2, pwd); rs = pstmt.executeQuery(); if(rs.next()) { message = "登錄成功!"; } else { message = "用戶(hù)名或密碼錯(cuò)誤!"; } } pstmt.close(); rs.close(); conn.close(); } catch(Exception e) { e.printStackTrace(); } %>JSP連接MySQL實(shí)現(xiàn)注冊(cè)和登錄 JSP連接MySQL實(shí)現(xiàn)注冊(cè)和登錄
<%= message %>
以上代碼實(shí)現(xiàn)了用戶(hù)注冊(cè)和登錄的功能,具體實(shí)現(xiàn)流程如下:
- 通過(guò)request.getParameter方法獲取表單提交的username和pwd參數(shù);
- 若收到注冊(cè)請(qǐng)求,則使用PreparedStatement對(duì)象執(zhí)行SQL插入語(yǔ)句,將用戶(hù)信息插入到user表中;
- 若收到登錄請(qǐng)求,則使用PreparedStatement對(duì)象執(zhí)行SQL查詢(xún)語(yǔ)句,查詢(xún)用戶(hù)輸入的用戶(hù)名和密碼是否正確;
- 根據(jù)執(zhí)行結(jié)果,更新頁(yè)面的message變量,提示用戶(hù)注冊(cè)或登錄結(jié)果。
完成上述代碼后,保存并運(yùn)行JSP頁(yè)面,即可測(cè)試用戶(hù)注冊(cè)和登錄功能。