我想创建以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");
}
}
}
答案 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;
}
}
使用应用程序创建数据库模式不是一个好习惯。为此使用单独的脚本。