数据表管理项目Servlet

来源:互联网 发布:梦幻重游如何修改数据 编辑:程序博客网 时间:2024/06/08 06:05
package com.runqianapp.tableManager.servlet;import java.io.IOException;import java.io.PrintWriter;import java.sql.SQLException;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import org.json.JSONException;import org.json.JSONObject;import com.runqian.report4.usermodel.IReport;import com.runqianapp.dataManager.DataManager;import com.runqianapp.tableManager.TableManager;/** * 数据表管理servlet * * 处理数据表管理所有的前段请求,包括: *  --检查表是否存在 *  --创建新表 *  --获取表结构信息 *  --检查字段是否存在 *  --表增加新字段 *  --删除字段 *  --修改字段、 *  --获取此数据库支持的所有数据类型名称  */public class TableManagerServlet extends HttpServlet{/**判断表是否已存在*/private static final String TABLEEXIST = "tableExist"; /**修改表名*/private static final String RENAMETABLE = "renameTable";/**创建表*/private static final String CREATETABLE = "createTable";/**删除表*/private static final String DELETETABLE = "deleteTable";/**获得表的结构信息*/private static final String GETTABLEINFO = "getTableInfo";/**判断字段是否已经存在*/private static final String COLUMNEXIST = "columnExist";/**表增加新字段*/private static final String ADDCOLUMN = "addColumn";/**删除字段*/private static final String DROPCOLUMN = "dropColumn";/**修改字段定义*/private static final String MODIFYCOLUMN = "modifyColumn";/**获取此数据库支持的所有数据类型名称*/private static final String GETTYPENAME = "getTypeName";/**修改表数据*/private static final String MODIFYDATA = "modifyData";/** * get方式的请求转交给post的方式处理 */protected void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {this.doPost(request, response);}/** * 处理前端所有请求 */protected void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {response.setContentType("text/html");request.setCharacterEncoding("UTF-8");response.setCharacterEncoding("UTF-8");PrintWriter out = response.getWriter();String action = request.getParameter("action");String tableName = request.getParameter("tableName");//得到数据表名参数String columnName = request.getParameter("columnName");/**声明数据表管理类对象*/TableManager tableManager = new TableManager();JSONObject jsResult = new JSONObject();if(TABLEEXIST.equals(action)){//调用判断表是否存在的方法boolean result = tableManager.hasTable(tableName);out.write(result+"");out.close();}else if(RENAMETABLE.equals(action)){//调用修改表名的方法String srcTableName = request.getParameter("srcTableName");     //得到源表名参数String newTableName = request.getParameter("newTableName");     //得到新表名参数StringBuffer resultMessage = new StringBuffer();boolean result = false;try{result = tableManager.renameTable(srcTableName, newTableName);resultMessage.append("{\"result\":\"").append(result).append("\"}");}catch(Exception e){e.printStackTrace();resultMessage.append("{\"result\":\"").append(result).append("\",").append("\"errorMessage\":\"").append(e.getMessage()).append("\"}");}out.write(resultMessage.toString());out.close();}else if(CREATETABLE.equals(action)){//调用创建表的方法String jsonMessage = request.getParameter("tableInfo");         //得到表信息字符串StringBuffer resultMessage = new StringBuffer();boolean result = false;try{jsResult = new JSONObject(jsonMessage);                     //将表信息封装成json对象                   result = tableManager.createTable(jsResult);resultMessage.append("{\"result\":\"").append(result).append("\"}");}catch(Exception e){e.printStackTrace();resultMessage.append("{\"result\":\"").append(result).append("\",").append("\"errorMessage\":\"").append(e.getMessage()).append("\"}");}out.write(resultMessage.toString());out.close();}else if(DELETETABLE.equals(action)){//调用删除表的方法String deleteTableName = request.getParameter("deleteTableName");//得到要删除表表名参数StringBuffer resultMessage = new StringBuffer();boolean result = false;try{result = tableManager.dropTable(deleteTableName);resultMessage.append("{\"result\":\"").append(result).append("\"}");}catch(Exception e){e.printStackTrace();resultMessage.append("{\"result\":\"").append(result).append("\",").append("\"errorMessage\":\"").append(e.getMessage()).append("\"}");}out.write(resultMessage.toString());out.close();}else if(GETTABLEINFO.equals(action)){//获取表结构信息jsResult = tableManager.getTableInfo(tableName);out.write(jsResult.toString());//结果添加到响应信息out.close();}else if(COLUMNEXIST.equals(action)){//判断字段是否存在调用的方法boolean isExist = true;try {isExist = tableManager.columnExist(tableName, columnName);//调用判断字段是否存在的方法} catch (SQLException e) {e.printStackTrace();} out.write(isExist+"");//结果添加到响应信息out.close();}else if(ADDCOLUMN.equals(action)){//表中增加字段调用的方法/**结果信息*/StringBuffer result = new StringBuffer();/**字段信息*/JSONObject columnInfoObj = null;/**是否成功增加字段,成功为true*/boolean isAdd = false;try {//System.out.println(request.getParameter("columnInfo"));columnInfoObj = new JSONObject(request.getParameter("columnInfo"));//请求中获取字段信息isAdd = tableManager.addColumn(tableName, columnInfoObj);//调用增加字段方法result.append("{");result.append("\"result\":\""+isAdd+"\"");result.append("}");} catch (JSONException e) {result.append("{");result.append("\"result\":\""+isAdd+"\""+",");result.append("\"errorMessage\":\""+e.getMessage()+"\"");result.append("}");e.printStackTrace();} catch (SQLException e) {result.append("{");result.append("\"result\":\""+isAdd+"\""+",");result.append("\"errorMessage\":\""+e.getMessage()+"\""+",");result.append("\"errorCode\":\""+e.getErrorCode()+"\""+",");result.append("\"sqlstate\":\""+e.getSQLState()+"\"");result.append("}");e.printStackTrace();}out.write(result.toString());//结果添加到响应信息out.close();}else if(DROPCOLUMN.equals(action)){//表中删除字段调用的方法/**是否成功删除字段,成功为true*/boolean idDrop = false;/**结果信息*/StringBuffer result = new StringBuffer();try {idDrop = tableManager.dropColumn(tableName, columnName);//调用删除字段方法result.append("{");result.append("\"result\":\""+idDrop+"\"");result.append("}");} catch (SQLException e) {result.append("{");result.append("\"result\":\""+idDrop+"\""+",");result.append("\"errorMessage\":\""+e.getMessage()+"\""+",");result.append("\"errorCode\":\""+e.getErrorCode()+"\""+",");result.append("\"sqlstate\":\""+e.getSQLState()+"\"");result.append("}");e.printStackTrace();}       //System.out.println(result.toString());out.write(result.toString());//结果添加到响应信息out.close();}else if(MODIFYCOLUMN.equals(action)){//修改字段定义调用的方法/**结果信息*/StringBuffer result = new StringBuffer();/**字段信息*/JSONObject columnInfoObj = null;/**修改字段是否成功,成功true*/boolean isModify = false;try {columnInfoObj = new JSONObject(request.getParameter("columnInfo"));//请求中拿到字段信息isModify = tableManager.modifyColumn(tableName, columnInfoObj);//调用修改字段方法result.append("{");result.append("\"result\":\""+isModify+"\"");result.append("}");} catch (JSONException e) {result.append("{");result.append("\"result\":\""+isModify+"\""+",");result.append("\"errorMessage\":\""+e.getMessage()+"\"");result.append("}");e.printStackTrace();} catch (SQLException e) {result.append("{");result.append("\"result\":\""+isModify+"\""+",");result.append("\"errorMessage\":\""+e.getMessage()+"\""+",");result.append("\"errorCode\":\""+e.getErrorCode()+"\""+",");result.append("\"sqlstate\":\""+e.getSQLState()+"\"");result.append("}");e.printStackTrace();}out.write(result.toString());//结果添加到响应信息out.close();}else if(GETTYPENAME.equals(action)){//获取此数据库支持的所有数据类型名称调用此方法/**数据库支持的所有数据类型名称*/String TypeNames = "";try {TypeNames = tableManager.getTypeName();//调用获取此数据库支持的所有数据类型名称方法} catch (SQLException e) {e.printStackTrace();}out.write(TypeNames);out.close();} else if ("modifyData".equals(action)) {          DataManager dm = new DataManager("mis2datasource", tableName);          IReport report = dm.createReport();          request.getSession().setAttribute("reportDefine", report);          request.getRequestDispatcher("/mis2/operateTable/showData.jsp").forward(request, response);        }}}

0 0
原创粉丝点击