zoukankan      html  css  js  c++  java
  • 案例7-用户名异步校验

    1 register.jsp代码

    <script type="text/javascript">
        $(function(){
            
            //为输入框绑定事件
            $("#username").blur(function(){
                //1、失去焦点获得输入框的内容
                var usernameInput = $(this).val();
                //2、去服务端校验该用户名是否存在---ajax
                $.post(
                    "${pageContext.request.contextPath}/checkUsername",
                    {"username":usernameInput},
                    function(data){
                        var isExist = data.isExist;
                        //3、根据返回的isExist动态的显示信息
                        var usernameInfo = "";
                        if(isExist){
                            //该用户存在
                            usernameInfo = "该用户名已经存在";
                            $("#usernameInfo").css("color","red");
                        }else{
                            usernameInfo = "该用户可以使用"
                            $("#usernameInfo").css("color","green");
                        }
                        $("#usernameInfo").html(usernameInfo);
                        
                    },
                    "json"
                );
                
                
            });
    
            
        });
    </script>

    2 web层

    public class CheckUsernameServlet extends HttpServlet {
    
        protected void doGet(HttpServletRequest request, HttpServletResponse response)
                throws ServletException, IOException {
            
            //获得要校验的用户名
            String username = request.getParameter("username");
            
            //传递username到service
            UserService service = new UserService();
            boolean isExist = false;
            try {
                isExist = service.checkUsername(username);
            } catch (SQLException e) {
                e.printStackTrace();
            }
            //isExist是Boolean形的,所以不用加引号。
    //如果写回去的是一个String类型格式如下
    //"{"namet":""+name+""}" response.getWriter().write(
    "{"isExist":"+isExist+"}"); } protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doGet(request, response); } }

    3 service层

    public boolean checkUsername(String username) throws SQLException {
            
            UserDao dao = new UserDao();
            Long isExist = dao.checkUsername(username);
            
            return isExist>0?true:false;
        }

    4 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 query = (Long) runner.query(sql, new ScalarHandler(), username);
            return query;
        }
    
    }
  • 相关阅读:
    Thymeleaf中,将字符串作为js函数的参数
    测试开发面试题总结
    013_RomanToInteger
    Python列表中查找某个元素的索引(多个)
    Python“函数式编程”中常用的函数
    009_Palindrome Number
    Python字符串方法总结(一)
    007_Reverse Integer
    002_Add Two Numbers
    pycharm上传代码到github
  • 原文地址:https://www.cnblogs.com/jepson6669/p/8401696.html
Copyright © 2011-2022 走看看