jdbc實現(xiàn)用戶注冊功能代碼示例
本文研究的主要問題是jdbc實現(xiàn)用戶注冊功能,通過具體實例代碼學(xué)習(xí)JSP+MySQL數(shù)據(jù)庫連接、訪問方式以及增刪查改操作,具體如下。
客戶端register.jsp界面如下
- “檢測”按鈕:檢測用戶名是否存在。
- “注冊”功能:只有全部通過驗證后才能提交到insert.jsp,insert.jsp實現(xiàn)將帳號和密碼存入user表。
//register.jsp
<head> <link rel="stylesheet" type="text/css" href="style.css" rel="external nofollow" > <script src="scripts/jquery-1.5.1.js" type="text/javascript"></script> <script type="text/javascript"> $(document).ready(function(){ $(":input.required").each(function(){ //必填加紅星標(biāo)識. var $required = $("<strong class='high'> *</strong>"); //創(chuàng)建元素 $(this).parent().append($required); //在div后面添加一個* }); $(':input').blur(function(){ //為所有的input添加失去焦點事件 var $parent = $(this).parent(); $parent.find(".formtips").remove(); //刪除以前的提示元素 if( $(this).is('#username') ){ // is方法判斷是否是用戶名 if( this.value=="" || this.value.length < 6||this.value.length > 18 ){ var errorMsg = '請輸入6-18位的用戶名.'; $parent.append('<span class="formtips onError">'+errorMsg+'</span>'); } else{ var okMsg = '輸入正確.'; $parent.append('<span class="formtips onSuccess">'+okMsg+'</span>'); } } if( $(this).is('#password') ){ //密碼是否符合格式 if( this.value=="" || ( this.value!="" && !(/^\d{1,6}$/).test(this.value) ) ){ //正則式驗證 var errorMsg = '密碼必須是1-6位數(shù)字.'; $parent.append('<span class="formtips onError">'+errorMsg+'</span>'); } else{ var okMsg = '輸入正確.'; $parent.append('<span class="formtips onSuccess">'+okMsg+'</span>'); } } if( $(this).is('#re_password') ){ //獲取id為re_password的節(jié)點,監(jiān)聽當(dāng)光標(biāo)離開輸入框時,運(yùn)行function方法 var password = $("#password").val(); //獲取id為password的輸入框中的內(nèi)容 var repassword = $("#re_password").val(); if(password!=repassword) { //判斷兩個變量是否相等 var errorMsg = '兩次密碼輸入不一致.'; $parent.append('<span class="formtips onError">'+errorMsg+'</span>'); } else{ var okMsg = '通過驗證.'; $parent.append('<span class="formtips onSuccess">'+okMsg+'</span>'); } } }); //end blur $(':input').keyup(function(){ //本例input元素keyup事件功能代碼與blur相同 $(this).triggerHandler("blur"); //觸發(fā)blur事件 }); $(':input').focus(function(){ //本例input元素focus事件功能代碼與blur相同 $(this).triggerHandler("blur"); //觸發(fā)blur事件 }); $('#send').click(function(){ //注冊按鈕 $(":input.required").trigger('blur'); var numError = $('form .onError').length; //class="onError"個數(shù) if(numError>0){ //還有錯 return false; } }); $('#res').click(function(){ //重置按鈕 $(".formtips").remove(); }); }); </script> </head> <body> <form method="post" action="insert.jsp"> <div class="int"> <label>用戶名:</label> <input type="text" name="username" id="username" class="required" /> </div> <div class="int"> <label>密碼:</label> <input type="text" name="password" id="password" class="required" /> </div> <div class="int"> <label>再次輸入密碼:</label> <input type="text" id="re_password" class="required" /> </div> <div class="sub"> <input type="submit" value="注冊" id="send" /> <input type="reset" value="重輸" id="res" /> </div> </form> </body>
//insert.jsp
<%@ page language="java" import="java.util.*" pageEncoding="gb2312"%> <%@page import="javaBean.userbean;"%> <html> <body> <jsp:useBean id="user" class="javaBean.userbean" scope="session" /> <jsp:setProperty name="user" property="*" /> 用戶名: <jsp:getProperty name="user" property="username"/> <br><br> 密碼: <jsp:getProperty name="user" property="password"/> <br><br> <% out.println(user.insert()); %> </body> </html>
userbean.java
package javaBean; import java.sql.*; public class userbean{ private String username; private String password; public void setUsername(String username) { this.username=username; } public void setPassword(String password) { this.password=password; } public String getUsername() { return username; } public String getPassword() { return password; } public String insert(){ try{ String url ="jdbc:mysql://localhost:3306/mysql"; //數(shù)據(jù)庫連接字符串 Class.forName("org.gjt.mm.mysql.Driver").newInstance(); //加載驅(qū)動程序 Connection conn= DriverManager.getConnection(url,"root","dba"); //建立連接 String sql="select * from login_user where username=?"; PreparedStatement pStmt = conn.prepareStatement(sql); pStmt.setString(1,username); ResultSet rs=pStmt.executeQuery(); if(rs.next()) { return "該用戶名已存在!"; } else { sql="insert into login_user values(?,?)"; pStmt = conn.prepareStatement(sql); pStmt.setString(1,username); pStmt.setString(2,password); pStmt.executeUpdate(); return "注冊成功!"; } } catch(Exception e){ return "注冊失??!"; } } }
總結(jié)
以上就是本文關(guān)于jdbc實現(xiàn)用戶注冊功能代碼示例的全部內(nèi)容,希望對大家有所幫助。感興趣的朋友可以繼續(xù)參閱本站其他相關(guān)專題,如有不足之處,歡迎留言指出。感謝朋友們對本站的支持!
相關(guān)文章
maven pom中內(nèi)置變量及引用的實現(xiàn)
maven其實有很多內(nèi)置變量供開發(fā)著在開發(fā)中使用,本文主要介紹了maven pom中內(nèi)置變量及引用的實現(xiàn),具有一定的參考價值,感興趣的可以了解一下2024-01-01Java網(wǎng)絡(luò)編程教程之設(shè)置請求超時的方法
這篇文章主要給大家介紹了關(guān)于Java網(wǎng)絡(luò)編程教程之設(shè)置請求超時的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧。2017-12-12Java基礎(chǔ)學(xué)習(xí)之關(guān)鍵字和變量數(shù)據(jù)類型的那些事
變量就是系統(tǒng)為程序分配的一塊內(nèi)存單元,用來存儲各種類型的數(shù)據(jù),下面這篇文章主要給大家介紹了關(guān)于Java基礎(chǔ)學(xué)習(xí)之關(guān)鍵字和變量數(shù)據(jù)類型的那些事,文中通過實例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-07-07java使用java.io.File類和java.nio.file.Path類對文件重命名
這篇文章主要給大家介紹了關(guān)于java使用java.io.File類和java.nio.file.Path類對文件重命名的相關(guān)資料,本文僅為日常操作記錄,方便后期使用查找本地電腦文件太多了,又不想一個一個重命名,改名字什么的很麻煩,需要的朋友可以參考下2024-02-02Java實現(xiàn)自定義中文排序的方法機(jī)注意事項
在Java中,中文排序通常涉及到使用Collator類來處理字符串的比較,確保根據(jù)漢字的拼音順序進(jìn)行排序,本文給大家介紹了Java實現(xiàn)自定義中文排序的方法機(jī)注意事項,并有相關(guān)的代碼示例供大家參考,需要的朋友可以參考下2024-10-10Java?ServletContext與ServletConfig接口使用教程
ServletConfig對象,叫Servlet配置對象。主要用于加載配置文件的初始化參數(shù)。我們知道一個Web應(yīng)用里面可以有多個servlet,如果現(xiàn)在有一份數(shù)據(jù)需要傳給所有的servlet使用,那么我們就可以使用ServletContext對象了2022-09-09Spring中的兩種代理JDK和CGLIB的區(qū)別淺談
本篇文章中主要介紹了Spring中的兩種代理JDK和CGLIB的區(qū)別淺談,詳解的介紹了JDK和CGLIB的原理和方法,有需要的朋友可以了解一下2017-04-04