在servlet之间共享数据库包装器

时间:2014-02-21 14:47:53

标签: tomcat servlets

我创建了一个数据库包装器,其构造函数是

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调用,无论如何都会完成更多的请求。

有没有办法在不触及客户端的情况下解决这个问题?

0 个答案:

没有答案