加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

基于AJAX用户注册信息异步校验

发布时间:2020-12-16 00:27:49 所属栏目:百科 来源:网络整理
导读:周末无事,自己写了一个用户注册信息的,异步校验。不多说,直接上源码: check.jsp %@pagelanguage="java"import="java.util.*"pageEncoding="UTF-8"%%Stringpath=request.getContextPath();StringbasePath=request.getScheme()+"://"+request.getServerNam

周末无事,自己写了一个用户注册信息的,异步校验。不多说,直接上源码:

check.jsp

<%@pagelanguage="java"import="java.util.*"pageEncoding="UTF-8"%>
<%
Stringpath=request.getContextPath();
StringbasePath=request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPEHTMLPUBLIC"-//W3C//DTDHTML4.01Transitional//EN">
<html>
<head>
<basehref="<%=basePath%>">
<title>基于AJAX校验的用户注册</title>
<metahttp-equiv="pragma"content="no-cache">
<metahttp-equiv="cache-control"content="no-cache">
<metahttp-equiv="expires"content="0">
<metahttp-equiv="keywords"content="keyword1,keyword2,keyword3">
<metahttp-equiv="description"content="Thisismypage">
<!--
<linkrel="stylesheet"type="text/css"href="styles.css">
-->
<scriptsrc="js/jquery-1.8.2.min.js"></script>
<style>
#password,#email{
margin-left:34px;
}
#username{
margin-left:18px;
}
#checkcode{
width:60px;
margin-left:18px;
}
#buttongroup{
margin-left:15%;
}
span{
color:red;
font-size:12;
//display:none;
width:100px;
height:20p;
}
#username,#password,#email,#confirmpassword{
width:120px;
}
#usercheck{
width:550px;
margin-left:40%;
}
.userres{
width:100%;
}
</style>
<script>
$(document).ready(function(){
varusername=$("#username");
varpassword=$("#password");
varconfirmpassword=$("#confirmpassword");
varemail=$("#email");
varusername_msg=$("#username_msg");
varemail_msg=$("#email_msg");
varpassword_msg=$("#password_msg");
varemptytips="输入为空.";
varxmlHttp;//用于保存XMLHttpRequest对象的全局变量
//用于创建XMLHttpRequest对象
functioncreateXmlHttp(){
//根据window.XMLHttpRequest对象是否存在使用不同的创建方式
if(window.XMLHttpRequest){
xmlHttp=newXMLHttpRequest();//FireFox、Opera等浏览器支持的创建方式
}else{
xmlHttp=newActiveXObject("Microsoft.XMLHTTP");//IE浏览器支持的创建方式
}
}
functionshow(nexttarget,str){

$(nexttarget).html(str);
$(nexttarget).css("display","block");
}
functionhide(nexttarget){
setTimeout(function(){
$(nexttarget).hide();
},5000);
}
$("#username").focus();
varflag="0";
$("input:text").bind("blur",function(e){
vartarget=e.target;
if(target.value==""){
varnexttarget=$(this).next();
show(nexttarget,emptytips);
hide(nexttarget);
}else{
varuserdata=$(this).val();
flag=this.id;
varquery="flag="+flag+"&userdata="+userdata;
createXmlHttp();
xmlHttp.onreadystatechange=handler;
xmlHttp.open("GET","queryInfro.action?"+query,true);
xmlHttp.send(null);
}
});
functionhandler(){
//debugger;
varrighttips=["该用户名可以使用.","该邮箱可以使用."];
varerrortips=["该用户名已存在.","该邮箱已存在."];
varreturnflag="";
varflag2="";
if(xmlHttp.readyState==4&&xmlHttp.status==200){
returnflag=JSON.parse(xmlHttp.responseText).returnflag;
flag2=JSON.parse(xmlHttp.responseText).flag;
if(returnflag.trim()=="SUCCESS"){
if(flag2.trim()=="username"){
show(username_msg,errortips[0]);
hide(username_msg);
}
if(flag2.trim()=="email"){
show(email_msg,errortips[1]);
hide(email_msg);
}
}else{
if(flag2.trim()=="username"){
show(username_msg,righttips[0]);
hide(username_msg);
}
if(flag2.trim()=="email"){
show(email_msg,righttips[1]);
hide(email_msg);
}
}
}
}
$("form").bind("submit",function(){
if(username.val()==""){
show(username_msg,emptytips);
hide(username_msg);
returnfalse;
}
if(email.val()==""){
show(email_msg,emptytips);
hide(email_msg);
returnfalse;
}
if(password.val()==""){
show(password_msg,emptytips);
hide(password_msg);
returnfalse;
}
if(password.val()!=confirmpassword.val()){
show(password_msg,"两次密码输入不一致.");
hide(password_msg);
returnfalse;
}
});
});
</script>
</head>
<body>
<formid="userform"action="register.action"method="post">
<center><h3>用户注册校验<h3/></center>
<divid="usercheck">
<divclass="userres"><label>用户名:</label><inputtype="text"id="username"class="error"/><spanid="username_msg"></span></div>
<divclass="userres"><label>密码:</label><inputtype="password"id="password"><spanid="password_msg"></span></div>
<divclass="userres"><label>确认密码:</label><inputtype="password"id="confirmpassword"></div>
<divclass="userres"><label>邮箱:</label><inputtype="text"id="email"><spanid="email_msg"></span></div>
<divid="buttongroup"><inputid="submitformbut"type="submit"value="提交"/><inputtype="reset"value="重置"/></div>
</div>
</form>
</body>
</html>


struts,配置文件:struts.xml

<?xmlversion="1.0"encoding="UTF-8"?>
<!DOCTYPEstrutsPUBLIC
"-//ApacheSoftwareFoundation//DTDStrutsConfiguration2.1//EN"
"http://struts.apache.org/dtds/struts-2.1.dtd">
<struts>
<constantname="struts.devMode"value="true"></constant>
<constantname="struts.custom.i18n.resources"value="faq"></constant>
<constantname="struts.i18n.encoding"value="UTF-8"></constant>
<packagename="faq"extends="json-default">
<actionname="getFaq"class="com.ajax.action.FaqAction"method="getFaqs">
<resultname="SUCCESS"type="json">
</result>
</action>
<actionname="getFaq"class="com.ajax.action.FaqAction"method="getFaqs">
<resultname="SUCCESS"type="json">
</result>
</action>
</package>
<packagename="post"extends="json-default">
<actionname="queryInfro"class="com.ajax.action.CheckAction"method="queryExsit">
<resultname="SUCCESS"type="json">
</result>
<resultname="ERROR"type="json">
</result>
</action>
<actionname="register"class="com.ajax.action.CheckAction"method="register">
<resultname="SUCCESS">
./MyJsp.jsp
</result>
</action>
<actionname="getPostList"class="com.ajax.action.PostAction"method="showPostListInfro">
<resultname="SUCCESS"type="json">
</result>
</action>
</package>
</struts>


Action层,CheckAction.java

packagecom.ajax.action;
importcom.ajax.service.CheckService;
importcom.ajax.util.RandomValidateCode;
importcom.opensymphony.xwork2.ActionSupport;
publicclassCheckActionextendsActionSupport{
publicStringflag;
publicStringuserdata;
publicStringreturnflag;
publicStringgetReturnflag(){
returnreturnflag;
}
publicvoidsetReturnflag(Stringreturnflag){
this.returnflag=returnflag;
}
publicCheckServicegetCheckservice(){
returncheckservice;
}
publicvoidsetCheckservice(CheckServicecheckservice){
this.checkservice=checkservice;
}
CheckServicecheckservice=newCheckService();
publicStringgetFlag(){
returnflag;
}
publicvoidsetFlag(Stringflag){
this.flag=flag;
}
publicStringgetUserdata(){
returnuserdata;
}
publicvoidsetUserdata(Stringuserdata){
this.userdata=userdata;
}
publicStringqueryExsit(){
System.out.println("flag:"+flag);
BooleanreturnVal=checkservice.checkUser(flag,userdata);
if(returnVal==true){
System.out.println("SUCCESS:"+SUCCESS);
returnflag="SUCCESS";
return"SUCCESS";
}else{
System.out.println("ERROR:"+ERROR);
returnflag="ERROR";
return"ERROR";
}
}
publicStringregister(){
System.out.println("注册成功");
return"SUCCESS";
}
}
Service层,CheckService.java
packagecom.ajax.service;
importcom.ajax.dao.CheckUserDao;
importcom.ajax.daoimpl.CheckUserDaoImpl;
publicclassCheckService{
CheckUserDaocheckdao=newCheckUserDaoImpl();
privateStringrowflag="";
publicStringcheckUserName(){
returnnull;
}
publicStringcheckUserEmail(){
returnnull;
}
publicBooleancheckUser(Stringflag,Stringuserdata){
returncheckdao.checkUserInfro(flag,userdata);
}
}


DAO层,CheckUserDao.java

packagecom.ajax.dao;
publicinterfaceCheckUserDao{
publicBooleancheckUserInfro(Stringrowflag,Stringuserdata);
}
DAO实现层,CheckUserDaoImpl.java
packagecom.ajax.daoimpl;
importjava.sql.Connection;
importjava.sql.ResultSet;
importjava.sql.SQLException;
importjava.sql.Statement;
importcom.ajax.dao.CheckUserDao;
importcom.ajax.util.DB;
publicclassCheckUserDaoImplimplementsCheckUserDao{
Connectionconn=null;
Statementstmt=null;
ResultSetrs=null;
/*
*判断用户信息是否已存在
*@seecom.ajax.dao.CheckUserDao#checkUserInfro(java.lang.String,java.lang.String)
*/
publicBooleancheckUserInfro(Stringflag,Stringuserdata){
Stringsql="select*fromuserwhere"+flag+"='"+userdata+"'";
System.out.println(sql);
conn=DB.getConn();
stmt=DB.getStatement(conn);
rs=DB.getResultSet(stmt,sql);
try{
if(rs.next()){
returntrue;
}else{
returnfalse;
}
}catch(SQLExceptione){
e.printStackTrace();
returnfalse;
}
}
}


Model层,UserInfr.java

packagecom.ajax.model;
publicclassUserInfr{
publicStringusername;
publicStringpassword;
publicStringemail;
publicStringgetUsername(){
returnusername;
}
publicvoidsetUsername(Stringusername){
this.username=username;
}
publicStringgetPassword(){
returnpassword;
}
publicvoidsetPassword(Stringpassword){
this.password=password;
}
publicStringgetEmail(){
returnemail;
}
publicvoidsetEmail(Stringemail){
this.email=email;
}
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读