与servlet的设计相混淆

时间:2014-10-17 15:12:20

标签: java servlets web-applications

我想创建以Json格式接收数据并将数据存储在数据库中的servlet。当我通过http请求向servlet发送数据时,它将与表建立连接,创建表并存储数据。创建连接和表的代码必须仅在第一次完成。我无法想出第一次创建连接和表的代码设计,并在剩下的时间内将数据存储到行中

我的代码如下: -

public class Master extends 
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    handle(request, response);
}

private void handle(HttpServletRequest req, HttpServletResponse resp) {
    JSONObject jsonObject = null;
    if ( req.getMethod().equalsIgnoreCase("POST")) {
        try {
            String jsonString = extractJsonBody()

           /* code for connection with database
            create table
            store the data */

        } catch (Exception e) {
            System.out.println("Json in bad format");
        }
    }
}

2 个答案:

答案 0 :(得分:0)

  

您可以使用servlet的init方法进行连接和表   如果表格不存在于数据库中,则使用条件检查进行创建。

public void init(ServletConfig config) throws ServletException { // Store the ServletConfig object and log the initialization 
super.init(config);`` 
// create the database connection and table creation with condition if 
//table do not exist in DB
 }

答案 1 :(得分:0)

您可以使用Singleton设计模式来创建数据库和表创建。

请参阅以下示例,使用单例模式创建数据库

public class DataBaseConnector {
    private static DataBaseConnector dbConnector = new DataBaseConnector();

    private Connection dbConnection;

    private DataBaseConnector() {        
        // create database connection here 
    }

    public static DataBaseConnector getInstance() {
        if(dbConnector == null) {
            dbConnector = new DataBaseConnector();
        }
        return dbConnector;
    }

    public Connection getDbConnection() {
        return dbConnection;
    }
}

使用应用程序创建数据库模式不是一个好习惯。为此使用单独的脚本。