checker.jsp
上传用户:shjgzm
上传日期:2017-08-31
资源大小:2757k
文件大小:3k
源码类别:

Ajax

开发平台:

Java

  1. <%@ page contentType="text/plain; charset=UTF-8"%>
  2. <%@ page language="java"%>
  3. <%@ page import="java.sql.*,ajax.db.DBUtils"%>
  4. <%!
  5.     //查询数据库是否存在相同信息
  6.     boolean hasSameValue(String name, String value) {
  7.         boolean result = false;                 //保存检测结果
  8.         String sql = "select * from users where " + name + " = ?";   //定义查询数据库的SQL语句
  9.         Connection conn = null;                 //声明Connection对象
  10.         PreparedStatement pstmt = null;         //声明PreparedStatement对象
  11.         ResultSet rs = null;                    //声明ResultSet对象
  12.         try {
  13.             conn = DBUtils.getConnection();     //获取数据库连接
  14.             pstmt = conn.prepareStatement(sql); //根据sql创建PreparedStatement
  15.             pstmt.setString(1, value);          //设置参数
  16.             rs = pstmt.executeQuery();          //执行查询,返回结果集
  17.             //根据结果集是否存在决定查询结果
  18.             if (rs.next()) {
  19.                 result = true;
  20.             } else {
  21.                 result = false;
  22.             }
  23.         } catch (SQLException e) {
  24.             System.out.println(e.toString());
  25.         } finally {
  26.             DBUtils.close(rs);                  //关闭结果集
  27.             DBUtils.close(pstmt);               //关闭PreparedStatement
  28.             DBUtils.close(conn);                //关闭连接
  29.         }
  30.         return result;
  31.     }
  32. %>
  33. <%
  34.     out.clear();                                    //清空当前的输出内容(空格和换行符)
  35.     request.setCharacterEncoding("UTF-8");          //设置请求体字符编码格式为UTF-8
  36.     String name = request.getParameter("name");     //获取name参数
  37.     String value = request.getParameter("value");   //获取value参数
  38.     String info = null;                             //用于保存提示对象的名称
  39.     //如果需要判断的是验证码,采用session方式验证
  40.     if ("code".equals(name)) {
  41.         String sessionCode = (String) session.getAttribute("_CODE_");   //获取session中保存的验证码
  42.         //根据对比结果输出响应信息
  43.         if (value != null && value.equals(sessionCode)) {
  44.             out.print("1验证码正确。");
  45.         } else {
  46.             out.print("0验证码错误。");
  47.         }
  48.     } else {
  49.         //根据name变量确定提示对象的名称
  50.         if ("username".equals(name)) {
  51.             info = "用户名";
  52.         } else if ("email".equals(name)) {
  53.             info = "邮件地址";
  54.         }
  55.         //根据是否存在相同信息输出对应的响应
  56.         if (hasSameValue(name, value)) {
  57.             out.print("0该" + info + "已存在,请更换" + info + "。");
  58.         } else {
  59.             out.print("1该" + info + "可正常使用。");
  60.         }
  61.     }
  62. %>