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

Ajax

开发平台:

Java

  1. <%@ page contentType="text/html; charset=UTF-8"%>
  2. <%@ page language="java"%>
  3. <%@ page import="java.sql.*,ajax.db.DBUtils"%>
  4. <%!
  5.     String sessionKey = "_LOGIN_USER_";             //session内登录key
  6. %>
  7. <%
  8.     request.setCharacterEncoding("UTF-8");          //设置请求体字符编码格式为UTF-8
  9.     out.clear();                                    //清空当前的输出内容(空格和换行符)
  10.     String action = request.getParameter("action");         //获取action参数
  11.     String userName = request.getParameter("userName");     //获取userName参数
  12.     String password = request.getParameter("password");     //获取password参数
  13.     StringBuffer result = new StringBuffer();       //保存输出信息
  14.     //处理登录请求
  15.     if ("login".equals(action)) {
  16.         String sql = "select username, password from users where username = ?";//定义查询数据库的SQL语句
  17.         Connection conn = null;                     //声明Connection对象
  18.         PreparedStatement pstmt = null;             //声明PreparedStatement对象
  19.         ResultSet rs = null;                        //声明ResultSet对象
  20.         try {
  21.             conn = DBUtils.getConnection();         //获取数据库连接
  22.             pstmt = conn.prepareStatement(sql);     //根据sql创建PreparedStatement
  23.             pstmt.setString(1, userName);           //设置参数
  24.             rs = pstmt.executeQuery();              //执行查询,返回结果集
  25.             if (rs.next()) {
  26.                 String dbPass = rs.getString("password");       //获取密码
  27.                 //根据密码匹配结果设置不同输出结果
  28.                 if (dbPass.equals(password)) {                  //登录成功
  29.                     session.setAttribute(sessionKey, userName); //设置session值
  30.                     result.append("1");                         //结果第一个字符设置为1
  31.                     result.append("欢迎用户 " + userName + " 登录系统。");
  32.                     result.append("<input type='button' value='退出' onclick='logout()'>");
  33.                 } else {                                        //登录失败
  34.                     result.append("0");                         //结果第一个字符设置为0
  35.                     result.append("密码错误。");
  36.                 }
  37.             } else {                                            //登录失败
  38.                 result.append("0");                             //结果第一个字符设置为0
  39.                 result.append("该用户不存在。");
  40.             }
  41.         } catch (SQLException e) {
  42.             System.out.println(e.toString());
  43.         } finally {
  44.             DBUtils.close(rs);                  //关闭结果集
  45.             DBUtils.close(pstmt);               //关闭PreparedStatement
  46.             DBUtils.close(conn);                //关闭连接
  47.         }
  48.     //处理检查登录情况请求
  49.     } else if ("check".equals(action)) {
  50.         String loginUser = (String) session.getAttribute(sessionKey);   //获取当前登录用户
  51.         //根据是否有登录用户输入不同结果
  52.         if (loginUser == null) {
  53.             result.append("当前没有登录用户。");
  54.         } else {
  55.             result.append("当前登录用户为 " + loginUser);
  56.         }
  57.     //处理退出请求
  58.     } else if ("logout".equals(action)) {
  59.         session.removeAttribute(sessionKey);    //将session中登录信息清除
  60.     }
  61.     out.print(result.toString());               //输出响应结果
  62. %>