国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 開(kāi)發(fā) > Java > 正文

jsp與Javabean實(shí)現(xiàn)登錄注冊(cè)

2024-07-21 02:52:52
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

jsp與javabean實(shí)現(xiàn)登錄注冊(cè)

jsp與Javabean實(shí)現(xiàn)登錄注冊(cè)jsp技術(shù)MySQL數(shù)據(jù)庫(kù)編程結(jié)合javabean組件實(shí)現(xiàn)最簡(jiǎn)單基礎(chǔ)的一個(gè)注冊(cè)登錄demoJavaBean開(kāi)發(fā)表示用戶信息的JavaBeanUserInfojava在Mysql數(shù)據(jù)庫(kù)中創(chuàng)建數(shù)據(jù)庫(kù)及相應(yīng)的表格注冊(cè)用戶時(shí)執(zhí)行數(shù)據(jù)庫(kù)操作的JavaBeanUserRegistjava用戶登錄時(shí)連接數(shù)據(jù)庫(kù)處理的JavaBeanUserLoginjavaJSP頁(yè)面的開(kāi)發(fā)填寫(xiě)用戶注冊(cè)信息的JSP頁(yè)面registerjsp用戶登錄頁(yè)面loginjsp運(yùn)行結(jié)果

jsp技術(shù)+Mysql數(shù)據(jù)庫(kù)編程,結(jié)合javabean組件,實(shí)現(xiàn)最簡(jiǎn)單基礎(chǔ)的一個(gè)注冊(cè)登錄demo

思路:首先需要登錄頁(yè)面以及相應(yīng)的登錄驗(yàn)證,對(duì)于未注冊(cè)用戶需要點(diǎn)擊注冊(cè)按鈕進(jìn)行用戶信息注冊(cè),注冊(cè)同樣需要一個(gè)注冊(cè)表單以及各個(gè)字段的驗(yàn)證處理。為了簡(jiǎn)化JavaBean中的處理和重用,我們把用戶的信息封裝成一個(gè)值對(duì)象的JavaBean,這個(gè)JavaBean只包含 用戶信息相關(guān)的屬性和這些屬性相關(guān)的getter和setter方法,我們將其命名為UserInfo.java,其次,隨著JSP技術(shù)的發(fā)展和開(kāi)發(fā)技術(shù)的成熟,在JSP頁(yè)面中連接數(shù)據(jù)庫(kù)的編程方式已經(jīng)很少見(jiàn),雖然在JSP頁(yè)面中使用Scriptlets也可以連接數(shù)據(jù)庫(kù),進(jìn)行數(shù)據(jù)庫(kù)操作,但這樣會(huì)造成頁(yè)面難以維護(hù)等缺點(diǎn),在大型項(xiàng)目中,這些缺點(diǎn)會(huì)更加突出,所以我們建議在JavaBean中連接數(shù)據(jù)庫(kù),UserRegiste.java用來(lái)處理注冊(cè)時(shí)連接數(shù)據(jù)庫(kù)查詢(xún)事務(wù),UserLogin.java用來(lái)處理登錄時(shí)連接數(shù)據(jù)庫(kù)插入事務(wù)。

JavaBean開(kāi)發(fā)

表示用戶信息的JavaBean(UserInfo.java)

public class UserInfo { //屬性 PRivate String name; private String passWord; private String phone; //方法 public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getPhone() { return phone; } public void setPhone(String phone) { this.phone = phone; }}

在Mysql數(shù)據(jù)庫(kù)中創(chuàng)建數(shù)據(jù)庫(kù)及相應(yīng)的表格

create database jspdev;use jspdev;create table user_Info( name varchar(15), password varchar(20), phone varchar(15));

注冊(cè)用戶時(shí)執(zhí)行數(shù)據(jù)庫(kù)操作的JavaBean(UserRegist.java)

import java.io.UnsupportedEncodingException;import java.sql.DriverManager;import com.mysql.jdbc.Connection;import com.mysql.jdbc.PreparedStatement;public class UserRegist { private UserInfo userInfo; private Connection con; // 獲得數(shù)據(jù)庫(kù)連接 public UserRegist() { String Classforname = "com.mysql.jdbc.Driver"; String Servanddb = "jdbc:mysql://127.0.0.1/jspdev"; String user = "root"; String pwd = "123456"; try { Class.forName(Classforname); con = (Connection) DriverManager.getConnection(Servanddb, user, pwd); } catch (Exception e) { e.printStackTrace(); } } // 設(shè)置待注冊(cè)的用戶信息 public void setUserInfo(UserInfo userInfo) { this.userInfo = userInfo; } // 進(jìn)行注冊(cè) public void regist() throws Exception { String reg = "insert into user_Info values(?,?,?)"; try { PreparedStatement pstmt = (PreparedStatement) con.prepareStatement(reg); pstmt.setString(1, transFormat(userInfo.getName())); pstmt.setString(2, userInfo.getPassword()); pstmt.setString(3, userInfo.getPhone()); pstmt.execute(); } catch (Exception e) { e.printStackTrace(); throw e; } } String transFormat(String s) { try { byte[] b = s.getBytes("iso-8859-1"); s = new String(b); } catch (UnsupportedEncodingException e) { System.out.println(e.toString()); } return s; }}

用戶登錄時(shí)連接數(shù)據(jù)庫(kù)處理的JavaBean(UserLogin.java)

import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.Statement;import com.mysql.jdbc.Connection;public class UserLogin { private UserInfo userInfo; private Connection con; // 獲得數(shù)據(jù)庫(kù)連接 public UserLogin() { String Classforname = "com.mysql.jdbc.Driver"; String Servanddb = "jdbc:mysql://127.0.0.1/jspdev"; String user = "root"; String pwd = "123456"; try { Class.forName(Classforname); con = (Connection) DriverManager.getConnection(Servanddb, user, pwd); } catch (Exception e) { e.printStackTrace(); } } // 獲取已經(jīng)注冊(cè)的用戶信息 public void setUserInfo(UserInfo userInfo) { this.userInfo = userInfo; } // 進(jìn)行登錄查詢(xún)驗(yàn)證 public boolean login(String name, String password) throws Exception { try { Statement stmt = con.createStatement(); ResultSet rst = stmt.executeQuery( "select name, password from user_Info where name= '" + name + "' and password='" + password + "'"); if (rst.next()) { rst.close(); stmt.close(); con.close(); return false; } else { rst.close(); stmt.close(); con.close(); return true; } } catch (Exception e) { e.printStackTrace(); } return false; }}

JSP頁(yè)面的開(kāi)發(fā)

填寫(xiě)用戶注冊(cè)信息的JSP頁(yè)面(register.jsp)

<%@page import="org.apache.jasper.tagplugins.jstl.core.Out"%><%@ page language="java" contentType="text/html; charset=gb2312"%><%@ page import="java.sql.*,java.io.*"%><jsp:useBean id="info" class="webUser.UserInfo" scope="request"> <jsp:setProperty property="*" name="info" /></jsp:useBean><jsp:useBean id="regist" class="webUser.UserRegist" scope="request"> <jsp:setProperty property="*" name="regist" /></jsp:useBean><%! String transFormat(String s){ try{ byte []b=s.getBytes("iso-8859-1"); s=new String(b); } catch(UnsupportedEncodingException e){ System.out.println(e.toString()); } return s;}%><html><head><meta http-equiv="Content-Type" content="text/html; charset=gb2312"><title>登錄首頁(yè)</title><script type="text/Javascript"> function register() { if (document.registerform.name.values == "") { window.alert("請(qǐng)輸入用戶名稱(chēng)"); document.registerform.name.focus(); return false; } if (document.registerform.password.value == "") { window.alert("請(qǐng)輸入密碼"); document.registerform.password.focus(); return false; } if (document.registerform.repassword.value == "") { window.alert("請(qǐng)確認(rèn)密碼"); document.registerform.repassword.focus(); return false; } if (document.registerform.password.value != document.registerform.repassword.value) { window.alert("兩次密碼不同,請(qǐng)重新輸入"); document.registerform.repassword.focus(); return false; } if (document.registerform.phone.value == "") { window.alert("請(qǐng)輸入電話號(hào)碼"); document.registerform.phone.focus(); return false; } return true; }</script></head><body bgcolor=cyan> <font size=4> <% /* request.setCharacterEncoding("UTF-8"); response.setCharacterEncoding("UTF-8"); response.setContentType("text/html; charset=utf-8"); */ String name = request.getParameter("name"); String password = request.getParameter("password"); String repassword = request.getParameter("repassword"); String phone = request.getParameter("phone"); if (name == null) { name = ""; if (password == null) { password = ""; if (repassword == null) { repassword = ""; if (phone == null) { phone = ""; } } } } boolean isSuccessRegist = false; if (password.equals(repassword) && !name.equals("") && !password.equals("") && !repassword.equals("") && !phone.equals("")) { name=transFormat(name); regist.setUserInfo(info); regist.regist(); isSuccessRegist = true; } %> <form action="" method=post name=registerform> <table width="100%" height="500" align="center"> <tr> <td> <div heigh="100%" align="center"> <table border="0" align="center"> <tr> <td>用戶名:</td> <td><input type="text" name="name"></td> </tr> <tr> <td>密碼:</td> <td><input type="password" name="password"></td> </tr> <tr> <td>確認(rèn)密碼:</td> <td><input type="password" name="repassword"></td> </tr> <tr> <td>手機(jī)號(hào)碼:</td> <td><input type="text" name="phone"></td> </tr> </table> <p align="center"> <a href="login.jsp"><input type="button" value="登錄" name="button"></a> <input type="submit" value="注冊(cè)" name="regist" onclick="register()"> </p> <font size=4 color=red> <% if(isSuccessRegist){ out.println(name); out.println("注冊(cè)成功"); } %> </font> </div> </td> </tr> </table> </form> </font></body></html>

用戶登錄頁(yè)面(login.jsp)

<%@ page language="java" contentType="text/html; charset=gb2312"%><jsp:useBean id="info" class="webUser.UserInfo" scope="request"> <jsp:setProperty property="*" name="info" /></jsp:useBean><jsp:useBean id="login" class="webUser.UserLogin" scope="request"> <jsp:setProperty property="*" name="login" /></jsp:useBean><html><head><meta http-equiv="Content-Type" content="text/html; charset=gb2312"><title>登錄首頁(yè)</title><script type="text/javascript"> function login() { if (document.registerform.name.values == "") { window.alert("請(qǐng)輸入用戶名稱(chēng)"); document.registerform.name.focus(); return false; } if (document.registerform.password.value == "") { window.alert("請(qǐng)輸入密碼"); document.registerform.password.focus(); return false; } return true; }</script></head><body bgcolor=cyan> <font size=4> <% String name = request.getParameter("name"); String password = request.getParameter("password"); if (name == null) { name = ""; if (password == null) { password = ""; } } boolean isSuccessLogin = false; if (!name.equals("") && !password.equals("")) { login.setUserInfo(info); isSuccessLogin = login.login(name,password); if (isSuccessLogin) { response.sendRedirect("welcome.jsp"); } isSuccessLogin = false; } %> <form action="" method=post name=form> <table width="100%" height="500" align="center"> <tr> <td> <div heigh="100%" align="center"> <table border="0" align="center"> <tr> <td>用戶名:</td> <td><input type="text" name="name"></td> </tr> <tr> <td>密碼:</td> <td><input type="password" name="password"></td> </tr> </table> <p align="center"> <input type="submit" value="登錄" name="login" onclick="login()"> <a href="register.jsp"><input type="button" value="注冊(cè)" name="button"></a> </p> </div> </td> </tr> </table> </form> </font></body></html>### 登錄成功跳轉(zhuǎn)頁(yè)面(Main.jsp) ###<%@ page language="java" contentType="text/html; charset=gb2312"%><html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>主頁(yè)面</title></head><body bgcolor=cyan><font size=6 color=red><div height="100%" align="center" valign="center"> <br><br>歡迎來(lái)到本頁(yè)面!!!</div></font></body></html>

運(yùn)行結(jié)果

登錄頁(yè)面

注冊(cè)頁(yè)面

注冊(cè)驗(yàn)證

注冊(cè)成功

查詢(xún)注冊(cè)結(jié)果


發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 亳州市| 六枝特区| 搜索| 格尔木市| 宁都县| 庆城县| 林周县| 黔西县| 漳浦县| 宜良县| 合川市| 祥云县| 高台县| 开封县| 渝北区| 桃江县| 泰顺县| 济南市| 杨浦区| 甘孜| 丽江市| 汝南县| 彭山县| 漳平市| 苍溪县| 徐水县| 桦甸市| 剑河县| 呈贡县| 石门县| 竹溪县| 万盛区| 华坪县| 通江县| 新丰县| 琼中| 类乌齐县| 淳安县| 乌恰县| 纳雍县| 晋州市|