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

Ajax

开发平台:

Java

  1. <%@ page contentType="text/plain; charset=UTF-8"%>
  2. <%@ page language="java"%>
  3. <%@ page import="java.sql.*,ajax.db.DBUtils,org.json.simple.JSONObject,org.json.simple.JSONArray"%>
  4. <%!
  5.     String sessionKey = "_LOGIN_USER_";             //session内登录key
  6.     //用户登录
  7.     String login(String userName, String password, HttpSession session) {
  8.         StringBuffer result = new StringBuffer();
  9.         String sql = "select id, name, password from task_users where name = ?";//定义SQL语句
  10.         Connection conn = null;                     //声明Connection对象
  11.         PreparedStatement pstmt = null;             //声明PreparedStatement对象
  12.         ResultSet rs = null;                        //声明ResultSet对象
  13.         try {
  14.             conn = DBUtils.getConnection();         //获取数据库连接
  15.             pstmt = conn.prepareStatement(sql);     //根据sql创建PreparedStatement
  16.             pstmt.setString(1, userName);           //设置参数
  17.             rs = pstmt.executeQuery();              //执行查询,返回结果集
  18.             if (rs.next()) {
  19.                 String dbPass = rs.getString("password");       //获取密码
  20.                 //根据密码匹配结果设置不同输出结果
  21.                 if (dbPass.equals(password)) {                  //登录成功
  22.                     session.setAttribute(sessionKey, rs.getString("id")); //设置session值
  23.                     result.append("1");                         //结果第一个字符设置为1
  24.                     result.append("<div>欢迎用户 " + userName + " 登录系统。</div>");
  25.                     result.append("<input type='button' value='退出' onclick='logout()'>");
  26.                 } else {                                        //登录失败
  27.                     result.append("0");                         //结果第一个字符设置为0
  28.                     result.append("密码错误。");
  29.                 }
  30.             } else {                                            //登录失败
  31.                 result.append("0");                             //结果第一个字符设置为0
  32.                 result.append("该用户不存在。");
  33.             }
  34.         } catch (SQLException e) {
  35.             System.out.println(e.toString());
  36.         } finally {
  37.             DBUtils.close(rs);                  //关闭结果集
  38.             DBUtils.close(pstmt);               //关闭PreparedStatement
  39.             DBUtils.close(conn);                //关闭连接
  40.         }
  41.         return result.toString();
  42.     }
  43.     //获取任务列表
  44.     String getLists(String userId) {
  45.         JSONArray array = new JSONArray();      //定义JSON数组
  46.         StringBuffer result = new StringBuffer("[");
  47.         String sql = "select id, listname from task_lists where userid = ? order by listname asc";   //定义SQL语句
  48.         Connection conn = null;                 //声明Connection对象
  49.         PreparedStatement pstmt = null;         //声明PreparedStatement对象
  50.         ResultSet rs = null;                    //声明ResultSet对象
  51.         try {
  52.             conn = DBUtils.getConnection();     //获取数据库连接
  53.             pstmt = conn.prepareStatement(sql); //根据sql创建PreparedStatement
  54.             pstmt.setString(1, userId);         //设置参数
  55.             rs = pstmt.executeQuery();
  56.             //遍历结果集,给JSON数组中加入JSONObject
  57.             while (rs.next()) {
  58.                 JSONObject obj = new JSONObject();
  59.                 obj.put("id", rs.getString(1));
  60.                 obj.put("name", rs.getString(2));
  61.                 array.add(obj);
  62.             }
  63.         } catch (SQLException e) {
  64.             System.out.println(e.toString());
  65.         } finally {
  66.             DBUtils.close(rs);                  //关闭结果集
  67.             DBUtils.close(pstmt);               //关闭PreparedStatement
  68.             DBUtils.close(conn);                //关闭连接
  69.         }
  70.         return array.toString();
  71.     }
  72.     //获取任务
  73.     String getTasks(String userId, String listId) {
  74.         JSONArray array = new JSONArray();      //定义JSON数组
  75.         String sql = "select id, taskname, status from task_tasks where userid = ? and listid = ? order by taskname asc";   //定义SQL语句
  76.         Connection conn = null;                 //声明Connection对象
  77.         PreparedStatement pstmt = null;         //声明PreparedStatement对象
  78.         ResultSet rs = null;                    //声明ResultSet对象
  79.         try {
  80.             conn = DBUtils.getConnection();     //获取数据库连接
  81.             pstmt = conn.prepareStatement(sql); //根据sql创建PreparedStatement
  82.             pstmt.setString(1, userId);         //设置参数
  83.             pstmt.setString(2, listId);         //设置参数
  84.             rs = pstmt.executeQuery();
  85.             //遍历结果集,给JSON数组中加入JSONObject
  86.             while (rs.next()) {
  87.                 JSONObject obj = new JSONObject();
  88.                 obj.put("id", rs.getString(1));
  89.                 obj.put("name", rs.getString(2));
  90.                 obj.put("status", rs.getString(3));
  91.                 array.add(obj);
  92.             }
  93.         } catch (SQLException e) {
  94.             System.out.println(e.toString());
  95.         } finally {
  96.             DBUtils.close(rs);                  //关闭结果集
  97.             DBUtils.close(pstmt);               //关闭PreparedStatement
  98.             DBUtils.close(conn);                //关闭连接
  99.         }
  100.         return array.toString();
  101.     }
  102.     //改变任务状态
  103.     void changeTaskStatus(String userId, String taskId, String status) {
  104.         String sql = "update task_tasks set status = ? where userid = ? and id = ?";   //定义SQL语句
  105.         Connection conn = null;                 //声明Connection对象
  106.         PreparedStatement pstmt = null;         //声明PreparedStatement对象
  107.         try {
  108.             conn = DBUtils.getConnection();     //获取数据库连接
  109.             pstmt = conn.prepareStatement(sql); //根据sql创建PreparedStatement
  110.             pstmt.setString(1, status);         //设置参数
  111.             pstmt.setString(2, userId);         //设置参数
  112.             pstmt.setString(3, taskId);         //设置参数
  113.             pstmt.executeUpdate();              //执行更新
  114.         } catch (SQLException e) {
  115.             System.out.println(e.toString());
  116.         } finally {
  117.             DBUtils.close(pstmt);               //关闭PreparedStatement
  118.             DBUtils.close(conn);                //关闭连接
  119.         }
  120.     }
  121.     //添加任务列表
  122.     void addList(String userId, String listName) {
  123.         String sql = "insert into task_lists(userid, listname) values(?,?)";   //定义SQL语句
  124.         Connection conn = null;                 //声明Connection对象
  125.         PreparedStatement pstmt = null;         //声明PreparedStatement对象
  126.         try {
  127.             conn = DBUtils.getConnection();     //获取数据库连接
  128.             pstmt = conn.prepareStatement(sql); //根据sql创建PreparedStatement
  129.             pstmt.setString(1, userId);         //设置参数
  130.             pstmt.setString(2, listName);       //设置参数
  131.             pstmt.executeUpdate();              //执行插入
  132.         } catch (SQLException e) {
  133.             System.out.println(e.toString());
  134.         } finally {
  135.             DBUtils.close(pstmt);               //关闭PreparedStatement
  136.             DBUtils.close(conn);                //关闭连接
  137.         }
  138.     }
  139.     //删除任务列表
  140.     void delList(String userId, String listId) {
  141.         String sql1 = "delete from task_tasks where userid = ? and listid = ?"; //删除任务SQL
  142.         String sql2 = "delete from task_lists where userid = ? and id = ?";     //删除列表SQL
  143.         Connection conn = null;                 //声明Connection对象
  144.         PreparedStatement pstmt = null;         //声明PreparedStatement对象
  145.         try {
  146.             conn = DBUtils.getConnection();     //获取数据库连接
  147.             pstmt = conn.prepareStatement(sql1);//根据sql1创建PreparedStatement
  148.             pstmt.setString(1, userId);         //设置参数
  149.             pstmt.setString(2, listId);         //设置参数
  150.             pstmt.executeUpdate();              //执行删除
  151.             pstmt.close();                      //关闭
  152.             pstmt = conn.prepareStatement(sql2);//根据sql2创建PreparedStatement
  153.             pstmt.setString(1, userId);         //设置参数
  154.             pstmt.setString(2, listId);         //设置参数
  155.             pstmt.executeUpdate();              //执行删除
  156.         } catch (SQLException e) {
  157.             System.out.println(e.toString());
  158.         } finally {
  159.             DBUtils.close(pstmt);               //关闭PreparedStatement
  160.             DBUtils.close(conn);                //关闭连接
  161.         }
  162.     }
  163.     //更新任务列表
  164.     void updateList(String userId, String listId, String listName) {
  165.         String sql = "update task_lists set listname = ? where userid = ? and id = ?";   //定义SQL语句
  166.         Connection conn = null;                 //声明Connection对象
  167.         PreparedStatement pstmt = null;         //声明PreparedStatement对象
  168.         try {
  169.             conn = DBUtils.getConnection();     //获取数据库连接
  170.             pstmt = conn.prepareStatement(sql); //根据sql创建PreparedStatement
  171.             pstmt.setString(1, listName);       //设置参数
  172.             pstmt.setString(2, userId);         //设置参数
  173.             pstmt.setString(3, listId);         //设置参数
  174.             pstmt.executeUpdate();              //执行更新
  175.         } catch (SQLException e) {
  176.             System.out.println(e.toString());
  177.         } finally {
  178.             DBUtils.close(pstmt);               //关闭PreparedStatement
  179.             DBUtils.close(conn);                //关闭连接
  180.         }
  181.     }
  182.     //添加任务
  183.     void addTask(String userId, String listId, String taskName) {
  184.         String sql = "insert into task_tasks(userid, listid, taskname) values(?,?,?)";   //定义SQL语句
  185.         Connection conn = null;                 //声明Connection对象
  186.         PreparedStatement pstmt = null;         //声明PreparedStatement对象
  187.         try {
  188.             conn = DBUtils.getConnection();     //获取数据库连接
  189.             pstmt = conn.prepareStatement(sql); //根据sql创建PreparedStatement
  190.             pstmt.setString(1, userId);         //设置参数
  191.             pstmt.setString(2, listId);         //设置参数
  192.             pstmt.setString(3, taskName);       //设置参数
  193.             pstmt.executeUpdate();              //执行插入
  194.         } catch (SQLException e) {
  195.             System.out.println(e.toString());
  196.         } finally {
  197.             DBUtils.close(pstmt);               //关闭PreparedStatement
  198.             DBUtils.close(conn);                //关闭连接
  199.         }
  200.     }
  201.     //删除任务
  202.     void delTask(String userId, String taskId) {
  203.         String sql = "delete from task_tasks where userid = ? and id = ?";   //定义SQL语句
  204.         Connection conn = null;                 //声明Connection对象
  205.         PreparedStatement pstmt = null;         //声明PreparedStatement对象
  206.         try {
  207.             conn = DBUtils.getConnection();     //获取数据库连接
  208.             pstmt = conn.prepareStatement(sql); //根据sql创建PreparedStatement
  209.             pstmt.setString(1, userId);         //设置参数
  210.             pstmt.setString(2, taskId);         //设置参数
  211.             pstmt.executeUpdate();              //执行删除
  212.         } catch (SQLException e) {
  213.             System.out.println(e.toString());
  214.         } finally {
  215.             DBUtils.close(pstmt);               //关闭PreparedStatement
  216.             DBUtils.close(conn);                //关闭连接
  217.         }
  218.     }
  219.     //更新任务
  220.     void updateTask(String userId, String taskId, String taskName) {
  221.         String sql = "update task_tasks set taskname = ? where userid = ? and id = ?";   //定义SQL语句
  222.         Connection conn = null;                 //声明Connection对象
  223.         PreparedStatement pstmt = null;         //声明PreparedStatement对象
  224.         try {
  225.             conn = DBUtils.getConnection();     //获取数据库连接
  226.             pstmt = conn.prepareStatement(sql); //根据sql创建PreparedStatement
  227.             pstmt.setString(1, taskName);       //设置参数
  228.             pstmt.setString(2, userId);         //设置参数
  229.             pstmt.setString(3, taskId);         //设置参数
  230.             pstmt.executeUpdate();              //执行更新
  231.         } catch (SQLException e) {
  232.             System.out.println(e.toString());
  233.         } finally {
  234.             DBUtils.close(pstmt);               //关闭PreparedStatement
  235.             DBUtils.close(conn);                //关闭连接
  236.         }
  237.     }
  238. %>
  239. <%
  240.     out.clear();                                            //清空当前的输出内容(空格和换行符)
  241.     request.setCharacterEncoding("UTF-8");                  //设置请求字符集为UTF-8
  242.     String userId = (String) session.getAttribute(sessionKey);  //获取当前登录用户编号
  243.     String action = request.getParameter("action");         //获取title
  244.     //根据action参数不同执行不同的操作
  245.     if ("login".equals(action)) {                           //登录操作
  246.         String userName = request.getParameter("userName");
  247.         String password = request.getParameter("password");
  248.         String result = login(userName, password, session);
  249.         out.print(result);
  250.     } else if ("logout".equals(action)) {                   //退出操作
  251.         session.removeAttribute(sessionKey);
  252.     } else if ("getLists".equals(action)) {                 //获取任务列表
  253.         out.print(getLists(userId));
  254.     } else if ("getTasks".equals(action)) {                 //获取任务
  255.         String listId = request.getParameter("listId");
  256.         out.print(getTasks(userId, listId));
  257.     } else if ("changeTaskStatus".equals(action)) {         //改变任务状态
  258.         String taskId = request.getParameter("taskId");
  259.         String status = request.getParameter("status");
  260.         changeTaskStatus(userId, taskId, status);
  261.         out.print("任务状态修改成功。");
  262.     } else if ("addList".equals(action)) {                  //添加任务列表
  263.         String listName = request.getParameter("listName");
  264.         addList(userId, listName);
  265.         out.print("列表添加成功。");
  266.     } else if ("delList".equals(action)) {                  //删除任务列表
  267.         String listId = request.getParameter("listId");
  268.         delList(userId, listId);
  269.         out.print("列表删除成功。");
  270.     } else if ("updateList".equals(action)) {               //更新任务列表
  271.         String listId = request.getParameter("listId");
  272.         String listName = request.getParameter("listName");
  273.         updateList(userId, listId, listName);
  274.         out.print("列表更新成功。");
  275.     } else if ("addTask".equals(action)) {                  //添加任务
  276.         String listId = request.getParameter("listId");
  277.         String taskName = request.getParameter("taskName");
  278.         addTask(userId, listId, taskName);
  279.         out.print("任务添加成功。");
  280.     } else if ("delTask".equals(action)) {                  //删除任务
  281.         String taskId = request.getParameter("taskId");
  282.         delTask(userId, taskId);
  283.         out.print("任务删除成功。");
  284.     } else if ("updateTask".equals(action)) {               //更新任务
  285.         String taskId = request.getParameter("taskId");
  286.         String taskName = request.getParameter("taskName");
  287.         updateTask(userId, taskId, taskName);
  288.         out.print("任务更新成功。");
  289.     }
  290. %>