假如页面上的用户名文本框是这么写的:用户名:<input type="text" name="userName"/>html
方法一:没有用到Ajax 数据库
一、先获取页面上输入的用户名的值。:String username = requset.getParameter("userName") 注意:括号里的userName 要和你页面上 用户名文本框的 name 属性值同样,才能获取到。post
二、写方法获取数据库里用户名所在表的用户名的字段,SQL 语句这样写:select username from user(表名) where username = ?。username = ?:这里传入的username 就是你输入的用户名。作个判断,若是结果(result)为 null ,就是不存在。this
三、把结果放入 request 中:request.setAttribute("result", result)。url
四、在页面上获取 result 就能够了。:${requestScope.result}spa
假如页面上的用户名文本框是这么写的:用户名:<input type="text" name="username"/> <div id="message"></div>code
方法二:用到了Ajaxhtm
一、在页面上写jQuery:blog
$(":input").change(function(){ //获取表单input ,若是发生 change 事件 //获取表单里的这个值,这里是username var val = $(this).val(); //去除先后空格 val = $.trim(val); //若是不为空 if(val != ""){
//你要去的Servlet var url = "userServlet";
//method 是本身在Servlet 里建,username 是你获取的输入的值,加一个时间戳 var args = {"method":"checkStockId", "username":val, "time": new Date()}; $.post(url, args, function(data){
//返回一个 message :用户名是否存在 $("#message").html(data); }); } });
二、在servlet 的方法里这样写事件
protected void checkStockId(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { //获取请求参数:用户名 String username= request.getParameter("username"); //获取数据库中的用户名,这里的方法getUser 就没有给出了 String username = userDao.getUser(username); List<String> userlist = Arrays.asList(username); //二者比较 String result = null; if(stocklist.contains(Integer.parseInt(stockIdStr))){ result = "<font color='red'>该用户名已存在,请从新输入</font>"; }else{ result = "<font color='green'>该用户名能够使用</font>"; } response.setContentType("text/html, charset=UTF-8"); response.setCharacterEncoding("UTF-8"); response.getWriter().print(result); }
over。