Ajax验证用户名

前台写法

<script>
$(function(){
$("#username").blur(function(){
//1 获得input 框用户输入的值
var usernameInput = $(this).val();//$("#username").val();
//alert(usernameInput);
//2 去服务器验证用户名是否存在
$.post(
"${pageContext.request.contextPath}/checkUser", //1url 地址
var usernameinfo="";
{"username":usernameInput}, //2 传输数据
function(data){

var isBoolean = data.isBoolean;
if(isBollean)}
usernameinfo="该用户名已经存在";
}else{
usernameinfo="该用户可以正常使用"
}
$("usernameinfo").html(usernameinfo);
}, //3 回调函数
"json" //4 传输数据类型

);
});
});
</script>

web层

package cn.lijun.web;

import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import cn.lijun.service.UserService;

public class CheckUserServlet extends HttpServlet {

public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//1 获得需要校验的用户
String username = request.getParameter("username");
//2 传递username到service
UserService ser = new UserService();
boolean isBoolean = false;
try {
isBoolean = service.checkUsername(username);
} catch (SQLException e) {
e.printStackTrace();
}
//{"isBoolean":isBoolean}
response.getWriter().write("{"isBoolean":"+isBoolean+"}");//端端 加加"++"

}
}

public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doGet(request, response);
}
}

service层代码如下

package cn.lijun.service;

import cn.lijun.dao.UserDao;

public boolean checkUsername(String username) throws SQLException {

UserDao dao = new UserDao();
Long isBoolean = dao.checkUsername(username);

return isBoolean>0?true:false;
}

dao层代码如下

package cn.lijun.dao;

public class UserDao {
public Long checkUsername(String username) throws SQLException {
QueryRunner runner = new QueryRunner(DataSourceUtils.getDataSource());
String sql = "select count(*) from user where username=?";
Long qu = (Long) runner.query(sql, new ScalarHandler(), username);
return qu;
}
}

原文地址:https://www.cnblogs.com/lijun6/p/10519883.html