servlet中的全局变量

问题描述 投票:0回答:1

我是Java servlet的新手,我的问题是:我可以在Servlet中将dataBaseHandler和conn变量用作全局变量吗,这会带来什么负面影响?

public class AddTrailerServlet extends HttpServlet {
    private Connection conn;
    private DataBaseHandler dataBaseHandler;

    doGet {
         dataBaseHandler = new DataBaseHandler();
    }
    doPost {
         dataBaseHandler = new DataBaseHandler();
    }
}
servlets java-ee
1个回答
0
投票

您可以创建一个返回数据库连接的util类:

public class DataBaseHandler
{
   public static Connection getConnection()
   {
      try
      {
         Class.forName(driver);
         return DriverManager.getConnection(url + dbName, username, password);
      } catch (Exception e)
      {
         System.err.println(e);
         //Or your logic to handle exception
      }
   }
}

您的代码如下:

public class AddTrailerServlet extends HttpServlet
{
   doGet()
   {
      try(Connection conn = DataBaseHandler.getConnection())
      {
         //Your custom code
      }
   }

   doPost()
   {
      try(Connection conn = DataBaseHandler.getConnection())
      {
         //Your custom code
      }
   }
}
© www.soinside.com 2019 - 2024. All rights reserved.