檢驗用戶名是否存在。用到Ajax 和沒有用到Ajax 兩個舉例。

 

假如頁面上的用戶名文本框是這麼寫的:用戶名:<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。

相關文章
相關標籤/搜索