麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 網(wǎng)站 > WEB開發(fā) > 正文

一個書上的Ajax登錄驗(yàn)證的源碼以及分析

2024-04-27 15:18:31
字體:
供稿:網(wǎng)友

1 示例描述:

登陸注冊程序中,必須保證每個用戶ID不能重復(fù)。這種檢測用戶ID的操作用Ajax完成。

行為:當(dāng)用戶輸入ID后,會使用Ajax將信息提交到服務(wù)器上進(jìn)行驗(yàn)證,如果此ID沒有被人使用,則提示可以使用。如果被人使用了,則提示錯誤信息。

2 建立database和user表 并插入數(shù)據(jù):

create database mld;

 create table user( userid varchar(30) PRimary key,name varchar(30),password varchar(32));

 insert into user values("admin","administrator","admin");

3 編寫注冊表單頁 regist..html的分析:

① 若是ID重復(fù),則不能提交。

form中有一個onsubmit="return "事件

② form表單中,ID項(xiàng)填寫完成,失去焦點(diǎn)后,就立刻開始檢測并提示(核心)

ID里面有一個 onblur="核心業(yè)務(wù)名字"事件。

在ID后面有一個<span></span>將提示的信息顯示出來。

4 regist.html的核心代碼:

<html><head><meta charset="UTF-8"><title>注冊</title><script type="text/javascript">var xmlHttp;var flag;

//創(chuàng)建xmlhttpfunction createXMLHttp() {if (window.XMLHttpRequest) {xmlHttp = new XMLHttpRequest();} else {xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");}}

//3的②中的核心函數(shù)function checkUserid(userid) {createXMLHttp();xmlHttp.open("POST", "CheckServlet?userid=" + userid);//查找ID的請求

//open post參數(shù)后面的資源,有可能是現(xiàn)成的內(nèi)容,也有可能是另一個需要執(zhí)行的代碼。該xmlhttp接收這段執(zhí)行代碼的返回的內(nèi)容xmlHttp.onreadystatechange = checkUseridCallback;//回調(diào)函數(shù)xmlHttp.send(null);//發(fā)送請求doucument.getElementById("msg").innerHTML = "正在驗(yàn)證";}function checkUseridCallback() {if (xmlHttp.readyState == 4) {if (xmlHttp.status == 200) {var text = xmlHttp.responseText;//接收"CheckServlet?userid=" + userid  返回的內(nèi)容if (text == "true") {flag = false;//flag的意義在于,若是返回true,則說明ID重復(fù),則無法提交。為了滿足3的①的業(yè)務(wù)邏輯document.getElementById("msg").innerHTML = "用戶ID重復(fù),無法使用!";} else {flag = true;document.getElementById("msg").innerHTML = "此用戶ID可以注冊!";}}}}function checkForm(){//form能否提交,取決于返回的flag的內(nèi)容. 在form中:onsubmit="return checkForm()"return flag;}</script></head><body><form action="regist.html" method="post" onsubmit="return checkForm()">用戶ID:<input type="text" name="userid" onblur="checkUserid(this.value)" /> //離開焦點(diǎn)調(diào)用js中的業(yè)務(wù)邏輯<span id="msg"></span><br /> 姓&nbsp;&nbsp;名:<input type="text"name="name" /></br> 密&nbsp;&nbsp;碼:<input type="passWord" name="password" /></br><input type="submit" vaule="注冊" /> <input type="reset" value="重置" /></form></body></html>

5 :由js中的邏輯很容易看出在servlet中我們要的是什么:

名字:CheckServlet

業(yè)務(wù):檢查其userid是否存在。

若存在,返回"true"

若不存在,返回“false”

6 CheckServlet.java 代碼:

package org.lxh.ajaxdemo ;import java.sql.* ;import java.io.* ;import javax.servlet.* ;import javax.servlet.http.* ;public class CheckServlet extends HttpServlet{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 = "0000" ;//我的mysql數(shù)據(jù)庫的密碼public void doGet(HttpServletRequest request,HttpServletResponse response) throws ServletException,IOException{this.doPost(request,response) ;}public void doPost(HttpServletRequest request,HttpServletResponse response) throws ServletException,IOException{request.setCharacterEncoding("GBK") ;response.setContentType("text/html") ;Connection conn = null ;PreparedStatement pstmt = null ;ResultSet rs = null ;PrintWriter out = response.getWriter() ;//返回用response返回。因?yàn)樵趈s中是用post方法,所以在這里直接用doPostString userid = request.getParameter("userid") ;//接收參數(shù)try{Class.forName(DBDRIVER) ;conn = DriverManager.getConnection(DBURL,DBUSER,DBPASS) ;String sql = "SELECT COUNT(userid) FROM user WHERE userid=?" ;pstmt = conn.prepareStatement(sql) ;pstmt.setString(1,userid) ;rs = pstmt.executeQuery() ;if(rs.next()){if(rs.getInt(1)>0){// 用戶ID已經(jīng)存在了out.print("true") ;//返回true} else {out.print("false") ;//返回false}}}catch(Exception e){e.printStackTrace() ;}finally{try{conn.close() ;}catch(Exception e){}}}}

6 部署servlet 到web.xml并啟動服務(wù)器 然后就可以執(zhí)行了


發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 天天草天天干天天射 | 欧美精品黄色 | 99爱精品在线 | 粉嫩粉嫩一区二区三区在线播放 | 怦然心动50免费完整版 | 久久成人激情视频 | 一区二区美女视频 | 久久久一区二区三区精品 | av7777777| av免费入口| 久久久久久久久久久av | 国产一级二级在线播放 | 成人性爱视频在线观看 | 久久羞羞视频 | jizzjizz中国人少妇中文 | 欧美亚洲国产成人综合在线 | 毛片在线视频免费观看 | 免费观看一级淫片 | 精品久久999 | 亚洲网站在线观看视频 | 成人免费网站在线观看视频 | 欧美日本色 | av电影院在线观看 | 久久精品日韩一区 | 午夜视频在线免费观看 | 免费人成在线播放 | 免费播放欧美毛片 | chengrenyingshi| 亚洲视频在线网 | 人成久久 | 国产精品午夜未成人免费观看 | 日本在线观看高清完整版 | 亚欧在线免费观看 | 久久久久亚洲精品国产 | 午夜男人免费视频 | h色网站在线观看 | 国产一区二区在线观看视频 | 成年人黄色片视频 | 天天碰天天操 | 久久国产一二区 | 亚洲第一页夜 |