亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 網站 > WEB開發 > 正文

一個書上的Ajax登錄驗證的源碼以及分析

2024-04-27 15:18:31
字體:
來源:轉載
供稿:網友

1 示例描述:

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

行為:當用戶輸入ID后,會使用Ajax將信息提交到服務器上進行驗證,如果此ID沒有被人使用,則提示可以使用。如果被人使用了,則提示錯誤信息。

2 建立database和user表 并插入數據:

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重復,則不能提交。

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

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

ID里面有一個 onblur="核心業務名字"事件。

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

4 regist.html的核心代碼:

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

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

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

//open post參數后面的資源,有可能是現成的內容,也有可能是另一個需要執行的代碼。該xmlhttp接收這段執行代碼的返回的內容xmlHttp.onreadystatechange = checkUseridCallback;//回調函數xmlHttp.send(null);//發送請求doucument.getElementById("msg").innerHTML = "正在驗證";}function checkUseridCallback() {if (xmlHttp.readyState == 4) {if (xmlHttp.status == 200) {var text = xmlHttp.responseText;//接收"CheckServlet?userid=" + userid  返回的內容if (text == "true") {flag = false;//flag的意義在于,若是返回true,則說明ID重復,則無法提交。為了滿足3的①的業務邏輯document.getElementById("msg").innerHTML = "用戶ID重復,無法使用!";} else {flag = true;document.getElementById("msg").innerHTML = "此用戶ID可以注冊!";}}}}function checkForm(){//form能否提交,取決于返回的flag的內容. 在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)" /> //離開焦點調用js中的業務邏輯<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

業務:檢查其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數據庫的密碼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返回。因為在js中是用post方法,所以在這里直接用doPostString userid = request.getParameter("userid") ;//接收參數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已經存在了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并啟動服務器 然后就可以執行了


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产精品欧美激情在线播放| 亚洲视频在线看| 美日韩精品免费观看视频| 亚洲国产精品999| 国产成人中文字幕| 中文字幕视频一区二区在线有码| 欧美电影第一页| 成人福利在线观看| 日韩在线视频线视频免费网站| 中文字幕精品影院| 国产成人一区二区三区电影| 久久精品亚洲94久久精品| 性欧美xxxx交| 91精品国产91久久久久久最新| 亚洲国产另类 国产精品国产免费| 亚洲色图校园春色| 在线电影中文日韩| 欧美高清视频一区二区| 欧美专区在线视频| 69久久夜色精品国产69乱青草| 91九色国产视频| 欧美制服第一页| 日韩av有码在线| 国内精品久久久久久中文字幕| 国产精品自拍小视频| 欧美在线观看网站| 一本色道久久88综合日韩精品| 国产精品国产自产拍高清av水多| 亚洲黄色av女优在线观看| 成人黄色av免费在线观看| 成人午夜小视频| 欧美日韩一二三四五区| 国产精品一区二区三区久久久| 久久精品2019中文字幕| 日韩av123| 亚洲日韩欧美视频一区| 国产欧美一区二区三区四区| 日韩激情av在线播放| 全球成人中文在线| 国内免费久久久久久久久久久| 91av在线免费观看| 欧美一级高清免费| 国产日本欧美一区| 成人网页在线免费观看| 欧美一区二区色| 国内伊人久久久久久网站视频| 人人澡人人澡人人看欧美| 亚洲精品国产拍免费91在线| 久久99精品国产99久久6尤物| 亚洲网站在线观看| 亚洲无亚洲人成网站77777| 色偷偷综合社区| 中文字幕在线看视频国产欧美| 国产亚洲精品久久久| 亚洲人成绝费网站色www| 精品国产乱码久久久久久虫虫漫画| 一区二区在线免费视频| 久久久成人精品视频| 成人乱人伦精品视频在线观看| 国产精品视频播放| 国产欧美日韩最新| 日韩激情av在线免费观看| 国产欧美精品一区二区三区-老狼| 久久亚洲精品视频| 国产日韩专区在线| 久久99亚洲热视| 精品亚洲aⅴ在线观看| 日韩一级黄色av| 国产成人涩涩涩视频在线观看| 美日韩精品免费视频| 日韩美女av在线免费观看| 日韩精品免费综合视频在线播放| 国产精品一区=区| 亚洲精品99久久久久| 国内精品久久久久久久久| 久久久久久亚洲精品中文字幕| 97精品欧美一区二区三区| 亚洲天堂2020| 国产亚洲精品成人av久久ww| 国产精品久久久久久久久粉嫩av| 亚洲高清在线观看| 一区二区三区亚洲| 国产日韩欧美在线播放| 日韩av在线一区| 欧美刺激性大交免费视频| 黑人精品xxx一区| 91亚洲精华国产精华| 国产98色在线| 91香蕉嫩草影院入口| 大胆欧美人体视频| 影音先锋欧美精品| 亚洲第一综合天堂另类专| 福利微拍一区二区| 午夜美女久久久久爽久久| 最近中文字幕日韩精品| 国产精品久久久久久久久久新婚| 亚洲精品电影在线| 欧美性xxxxx极品娇小| 国产亚洲欧美日韩精品| 日韩精品在线私人| 久久精品免费电影| 亚洲石原莉奈一区二区在线观看| 日韩成人中文字幕在线观看| 国产丝袜一区二区三区| 免费91在线视频| 91欧美激情另类亚洲| 亚洲色图色老头| 成人免费视频网址| 国产大片精品免费永久看nba| 欧美在线欧美在线| 尤物九九久久国产精品的分类| 精品久久中文字幕| 久久久在线视频| 奇米成人av国产一区二区三区| 日韩有码在线观看| 久久久在线视频| 久久久亚洲精品视频| 亚洲精品福利免费在线观看| 日韩视频中文字幕| 国产一区二区三区视频在线观看| 欧美成人小视频| www.xxxx欧美| 国产精品视频中文字幕91| 久久精品视频va| 成人激情视频在线观看| 91久久精品国产91久久| 欧美日韩中文在线| 狠狠躁18三区二区一区| 日韩在线www| 久久久久久久亚洲精品| 亚洲免费一在线| 欧美午夜久久久| 国产成人91久久精品| 日韩大陆毛片av| 日本精品va在线观看| 日韩欧美中文字幕在线播放| 在线观看日韩视频| 91精品国产高清自在线| 亚洲开心激情网| 国产精品影片在线观看| 日韩中文字幕不卡视频| 韩国美女主播一区| 久久久噜噜噜久久中文字免| 亚洲精品色婷婷福利天堂| 欧美亚洲国产日韩2020| 久久不射热爱视频精品| 日韩不卡中文字幕| 国产伦精品一区二区三区精品视频| 亚洲在线观看视频| 91在线播放国产| 亚洲伊人久久综合| 欧美一区二区三区艳史| 久久久精品电影| 美女扒开尿口让男人操亚洲视频网站| 国产精品人成电影在线观看| 亚洲一区二区自拍| 国产精品视频自在线| 成人福利在线观看| 欧美一级片久久久久久久| 亚洲精品www久久久久久广东| 中文字幕一区二区三区电影| 久久精品久久久久久国产 免费| xxx成人少妇69| 欧美国产日韩一区二区|