我创建了一个数据库包装器,其构造函数是
Public Wrapper(){
If tables do not exist
Create table
它也有一些检索数据的方法。 现在,有不同的servlet,每个servlet都指向一个特定的表。 每个servlet都有一个共同的模式:
Public Table1Servlet extends HttpServlet{
...
public void doGet {
Wrapper w = new Wrapper();
... w.getInfoFromTable1();
问题是,如果两个请求同时完成,有时它会给出一个异常“表已经存在”,因为它涉及一些并发性。
我认为问题在于,当每个servlet创建自己的包装器对象时,它们与数据库有两个不同的并行连接,而这个数据库是一个sqllite,所以当时只支持一个编写器。 这只是一个web界面,因此sqllite很好,但是在页面中,由于并发的ajax调用,无论如何都会完成更多的请求。
有没有办法在不触及客户端的情况下解决这个问题?