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;
        }
    
    }
  • 相关阅读:
    利用cubieboard设置samba打印服务器
    CubieTruck上安装mjpg_streamer
    devexpress bandgridview使用总结(14.2)
    WeedFS0.6.8-引用库列表
    NSQ的消息订阅发布测试
    WeedFS问题收集
    WeedFS依赖库 0.6.1
    golang 前置补0
    MsChart<3> 饼状图
    在代码中去掉窗口,全屏显示
  • 原文地址:https://www.cnblogs.com/jepson6669/p/8401696.html
Copyright © 2011-2022 走看看