Ajax代码如下传递一个name到servlet进行判断用户是否存在
<script type="text/javascript">
function checkName(obj) {
name = obj.value;
$.ajax({
url:'${pageContext.request.contextPath }/CheckNameServlet',
type:'POST', //GET
data:{
name:name,//想要传输过去的数据 key:value,另一个页面通过 key接收value的值
},
timeout:5000, //超时时间
dataType:'text', //返回的数据格式:json/xml/html/script/jsonp/text
success:function(data){//data是成功后,接收的返回值
if (data == 1) {
//存在
$('#ret-msg').html("用户已存在");
} else {
//不存在
$('#ret-msg').html("");
}
window.console.log('成功回调函数');
},
error : function() {
window.console.log('失败回调函数');
}
});
}
</script>
简单输入框
<input id="username" name="username" type="text" autocomplete="off" placeholder="用户" onblur="checkName(this)">
<span id='ret-msg'></span>
servlet代码
这里只写了doGet()方法,doPost()方法一样
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
//response.getWriter().append("Served at: ").append(request.getContextPath());
String name = request.getParameter("name");
System.out.println("Servlet验证用户名 "+name+" 是否注册");
String flag = "0";
SQLService ser = new SQLService();//自己写的数据库服务类
if(!ser.queryUserExist(name))//输入用户判断是否存在
flag = "1";
System.out.println("Servlet验证返回值为"+flag);
response.getWriter().write(flag);//返回1用户存在
}
判断用户是否存在用了ResultSet.next()只能在实验中使用,如果用户数据过多,可能效率会很低下