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

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.     //获取目标月份任务信息
  6.     String getTasks(String month) {
  7.         JSONArray array = new JSONArray();      //新建JSON数组对象
  8.         String sql = "select id, task, builddate from schedule where builddate like ? order by id asc";   //定义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, month + "-%");   //设置参数
  16.             rs = pstmt.executeQuery();
  17.             while (rs.next()) {
  18.                 //使用数据库结果集生成JSON对象,并加入到JSON数组中
  19.                 JSONObject obj = new JSONObject();
  20.                 obj.put("id", rs.getString(1));
  21.                 obj.put("task", rs.getString(2));
  22.                 obj.put("builddate", rs.getString(3));
  23.                 array.add(obj);
  24.             }
  25.         } catch (SQLException e) {
  26.             System.out.println(e.toString());
  27.         } finally {
  28.             DBUtils.close(rs);                  //关闭结果集
  29.             DBUtils.close(pstmt);               //关闭PreparedStatement
  30.             DBUtils.close(conn);                //关闭连接
  31.         }
  32.         return array.toString();
  33.     }
  34.     //添加新任务
  35.     int addTask(String taskInfo, String buildDate) {
  36.         int newId = -1;                         //用于保存新任务编号
  37.         String sql = "insert into schedule(task, builddate) values(?,?)";   //定义插入数据的SQL语句
  38.         Connection conn = null;                 //声明Connection对象
  39.         PreparedStatement pstmt = null;         //声明PreparedStatement对象
  40.         ResultSet rs = null;                    //声明ResultSet对象
  41.         try {
  42.             conn = DBUtils.getConnection();     //获取数据库连接
  43.             pstmt = conn.prepareStatement(sql); //根据sql创建PreparedStatement
  44.             pstmt.setString(1, taskInfo);       //设置参数
  45.             pstmt.setString(2, buildDate);      //设置参数
  46.             pstmt.executeUpdate();
  47.             pstmt.close();
  48.             //获取刚插入数据的新id
  49.             pstmt = conn.prepareStatement("select last_insert_id()");
  50.             rs = pstmt.executeQuery();
  51.             if (rs.next()) {
  52.                 newId = rs.getInt(1);           //获取新id
  53.             }
  54.         } catch (SQLException e) {
  55.             System.out.println(e.toString());
  56.         } finally {
  57.             DBUtils.close(rs);                  //关闭结果集
  58.             DBUtils.close(pstmt);               //关闭PreparedStatement
  59.             DBUtils.close(conn);                //关闭连接
  60.         }
  61.         return newId;
  62.     }
  63.     //删除任务 
  64.     void delTask(String taskId) {
  65.         String sql = "delete from schedule where id = ?";   //定义SQL语句
  66.         Connection conn = null;                 //声明Connection对象
  67.         PreparedStatement pstmt = null;         //声明PreparedStatement对象
  68.         try {
  69.             conn = DBUtils.getConnection();     //获取数据库连接
  70.             pstmt = conn.prepareStatement(sql); //根据sql创建PreparedStatement
  71.             pstmt.setString(1, taskId);         //设置参数
  72.             pstmt.executeUpdate();
  73.         } catch (SQLException e) {
  74.             System.out.println(e.toString());
  75.         } finally {
  76.             DBUtils.close(pstmt);               //关闭PreparedStatement
  77.             DBUtils.close(conn);                //关闭连接
  78.         }
  79.     }
  80.     //更新任务
  81.     void updateTask(String taskId, String taskInfo) {
  82.         String sql = "update schedule set task = ? where id = ?";   //定义SQL语句
  83.         Connection conn = null;                 //声明Connection对象
  84.         PreparedStatement pstmt = null;         //声明PreparedStatement对象
  85.         try {
  86.             conn = DBUtils.getConnection();     //获取数据库连接
  87.             pstmt = conn.prepareStatement(sql); //根据sql创建PreparedStatement
  88.             pstmt.setString(1, taskInfo);       //设置参数
  89.             pstmt.setString(2, taskId);         //设置参数
  90.             pstmt.executeUpdate();
  91.         } catch (SQLException e) {
  92.             System.out.println(e.toString());
  93.         } finally {
  94.             DBUtils.close(pstmt);               //关闭PreparedStatement
  95.             DBUtils.close(conn);                //关闭连接
  96.         }
  97.     }
  98. %>
  99. <%
  100.     out.clear();                                                //清空当前的输出内容(空格和换行符)
  101.     request.setCharacterEncoding("UTF-8");                      //设置请求字符集为UTF-8
  102.     String action = request.getParameter("action");             //获取action信息
  103.     //根据action不同执行不同的操作
  104.     if ("addTask".equals(action)) {                             //新建任务
  105.         String taskInfo = request.getParameter("taskInfo");
  106.         String buildDate = request.getParameter("buildDate");
  107.         out.print(addTask(taskInfo,buildDate));
  108.     } else if ("getTasks".equals(action)) {                     //获取整月任务信息
  109.         String month = request.getParameter("month");
  110.         String result = getTasks(month);
  111.         out.println(result);
  112.     } else if ("delTask".equals(action)) {                      //删除任务
  113.         String taskId = request.getParameter("taskId");
  114.         delTask(taskId);
  115.     } else if ("updateTask".equals(action)) {                   //更新任务信息
  116.         String taskId = request.getParameter("taskId");
  117.         String taskInfo = request.getParameter("taskInfo");
  118.         updateTask(taskId, taskInfo);
  119.     }
  120. %>