Java Servlet扩展了另一个Servlet

时间:2012-10-18 12:04:35

标签: java java-ee servlets

我的大多数(所有)servlet中的init方法都是类似的。主要是初始化DataSource

我正在考虑创建一个BaseServlet,其中包含受保护的DataSourceinit方法,所有其他servlet都会扩展此BaseServlet

任何陷阱我应该警惕?

2 个答案:

答案 0 :(得分:1)

如果你只是需要初始化数据库相关的东西,你可以把它放到ServletContext中,我不是很多类继承的乐趣。

如今,似乎我们不只是从servlet开始,为什么不选择一个框架?

答案 1 :(得分:1)

在目前的方法中:

  1. 每个扩展BaseServlet的Servlet都会创建自己的数据源,因为init()方法将被多次调用。
  2. 我认为这不是你想要完成的,而是在寻找在所有Servlet中使用的单个数据源。
  3. 假设上述情况属实,我建议关注

    1. 将数据源包装在单例类中。这将确保数据源仅初始化一次。使用eager initialization确保数据源在类加载时被初始化
    2. 使用此类获取servlet类中的数据源/连接。
相关问题