0

サーブレット技術を備えたTomcat 8にWeb APPがあります。DB接続の場合、静的データソースを保持するサーブレットリスナーと、getConnectionを実行する静的メソッドがあります。servletListener.getConnection(); に呼び出すことができるサーベットですべて正常に動作します。

しかし、クラス内ではそれを呼び出すことはできません。

インターネットでこのクラスを見つけました:

public final class DBUtilClass {
    private static DataSource datasource;

    static {
        Context initContext;
        try {
            initContext = new InitialContext();
            Context envContext = (Context) initContext.lookup("java:/comp/env");
            datasource = (DataSource) envContext.lookup("jdbc/testdb");
        } catch (NamingException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }

    public static Connection getConnection() throws SQLException {
        return datasource.getConnection();
    }

すべてのクラスから呼び出せるので気に入っています。それが最善の方法かどうかはわかりません。

他のアプローチ?推奨事項はありますか?

4

0 に答える 0