zoukankan      html  css  js  c++  java
  • jQuery的ajax之验证用户名是否被注册

      今天做的是注册时候用jquery的ajax检测用户名是否被注册。

      因为用的是idea,之前一直好用的是eclipse,不太熟悉,遇到了很多的错误,本身是没有难度,但是时间都花在了解决错误上,例如,使用idea,找不到servle路劲等。

      反正费了很大的力气各种测试,还是无果,结果最后是idea配置的问题。

      register.html

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>jquery用户注册验证</title>
        <script src="./js/jquery.min.js"></script>
    </head>
    <body>
    <input type="text"  id="username" placeholder="用户名"/><span id="tip"></span> <br>
        <input type="password" placeholder="密码"/>
    
    </body>
    <script>
    $().ready(function () {
        $("#username").blur(function () {
            var username = $("#username").val();
            alert(username);
            $.post("MessageServlet?method=register",{"username":username},function (data) {
                $("#tip").empty();
                alert(data);
                //切记传回来的数据需要清楚空格
                if (data.trim()=="true"){
                    $("#tip").html("恭喜您,可以使用").css("color","green");
                }else{
                    $("#tip").html("用户名已经被注册").css("color","red");
                };
            },"text")
        });
    });
    </script>
    </html>

      MessageServlet.java

    package Servlet;
    
    import Service.MessageService;
    
    import java.io.IOException;
    import java.sql.SQLException;
    
    
    import javax.servlet.ServletException;
    import javax.servlet.annotation.WebServlet;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    import javax.servlet.http.HttpSession;
    
    
    
    @WebServlet("/MessageServlet")
    public class MessageServlet extends HttpServlet {
    
        private static final long serialVersionUID = 1L;
        
        
        /**
         * 方法选择
         */
        protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
            req.setCharacterEncoding("utf-8");
            String method = req.getParameter("method");
    
            if ("register".equals(method)) {
                try {
                    register(req, resp);
                } catch (SQLException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
            }
            
            
        }
    
    
        // 登录
        private void register(HttpServletRequest req, HttpServletResponse resp) throws IOException, ServletException, SQLException {
            req.setCharacterEncoding("utf-8");
            resp.setContentType("text/html;charset=utf-8");
            // 获取数据
            String username = req.getParameter("username");
            String sql = "select * from user where username = '"+username+"'";
            System.out.println(sql);
            System.out.println(username);
            boolean data = MessageService.login(sql);
            resp.getWriter().println(data);
            
        }
    
    }

        MessageService.java

    package Service;
    
    import Connect.Connect;
    
    import java.sql.Connection;
    import java.sql.ResultSet;
    import java.sql.SQLException;
    import java.sql.Statement;
    
    
    
    
    
    
    
    
    
    
    
    
    //服务层
    public class MessageService {
        public static boolean login(String sql) {
            Connection conn = Connect.getConn();
            Statement st = null;
            ResultSet rs = null;
            boolean row = true;
            try {
                st = conn.createStatement();
                rs = st.executeQuery(sql);
                if (rs.next()) {
                    row = false;
                }
            } catch (Exception e) {
                // TODO: handle exception
            }
            return row;
    
        }
    
    //    public static List<fcjj> getfcjj(String sql) throws SQLException {
    //        // 查询语句的执行结果为一个表格,即多个学生对象的集合,所有可以创建数组列表对象来存储
    //        List<fcjj> lst = new ArrayList<fcjj>();
    //        // 获取连接对象
    //        Connection conn = Connect.getConn();
    //        try {
    //            // 连接对象conn调用createStatement()方法,创建一个执行SQL语句的对象st
    //            Statement st = conn.createStatement();
    //            // 执行SQL语句的对象st调用executeQuery()方法,执行查询语句,将查询到的结果返回到一个结果集中
    //            ResultSet rs = st.executeQuery(sql);
    //            // 遍历结果集对象
    //            while (rs.next()) {
    //                fcjj mes = new fcjj();
    //                mes.setName(rs.getString("name"));
    //                mes.setPassword(rs.getString("password"));
    //                mes.setAgentaddress(rs.getString("agentaddress"));
    //                mes.setPhone(rs.getString("phone"));
    //                lst.add(mes);
    //            }
    //        } catch (Exception e) {
    //            System.out.println(e.getMessage());
    //        } finally {
    //            // 资源使用完之后,如果没有关闭,则需要关闭
    //            if (conn != null) {
    //                conn.close();
    //            }
    //        }
    //        return lst;
    //    }
    
    
    
    }

          Connect.java

    package Connect;
    
    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.ResultSet;
    import java.sql.SQLException;
    import java.sql.Statement;
    
    public class Connect {
        public static Connection getConn() {
            // 第一步:加载驱动类,如果有异常则抛出异常或者使用try..catch..语句处理
            try {
                Class.forName("com.mysql.cj.jdbc.Driver");
                System.out.println("驱动类加载成功");
            } catch (ClassNotFoundException e) {
                e.printStackTrace();
                System.out.println("驱动类加载失败");
                // 这里可能报错:ClassNotFoundException
                // 错误原因:可能是驱动类的名称拼写错误,也可能是jar包没导入
            }
    
            // 第二步:获取连接对象
            String url = "jdbc:mysql://localhost:3306/zhengji?useSSL=true&serverTimezone=GMT";
            String username = "root";
            String password = "ly0825";
            Connection conn = null;
            try {
                conn = DriverManager.getConnection(url, username, password);
                System.out.println("连接对象获取成功");
            } catch (SQLException e) {
                e.printStackTrace();
                System.out.println("连接对象获取失败");
            }
            // 返回一个连接对象
            return conn;
        }
    
        public static void close(Connection conn, Statement st, ResultSet rs) {
            if (rs != null) {
                try {
                    rs.close();
                    rs = null;
                } catch (Exception e) {
                    e.printStackTrace();
                }
            }
            if (st != null) {
                try {
                    st.close();
                    st = null;
                } catch (Exception e) {
                    e.printStackTrace();
                }
            }
            if (conn != null) {
                try {
                    conn.close();
                    conn = null;
                } catch (Exception e) {
                    e.printStackTrace();
                }
            }
        }
    }

     

      

  • 相关阅读:
    Linux线程(一)
    模板(一)
    C++基础(八)
    C++基础(七)
    C++基础(六)
    C++基础(五)
    2.C#基础(二)
    1.C#基础(一)
    2.给出距离1900年1月1日的天数,求日期
    网络协议破解 SMTP
  • 原文地址:https://www.cnblogs.com/moxihuishou/p/14448941.html
Copyright © 2011-2022 走看看