java - 导入 javax.naming.context 或 org.apache.catalina.Context?

标签 java tomcat servlets netbeans database-connection

我正在尝试在 Tomcat7 容器中实现数据池。我的理解是我必须使用以下代码来检索数据连接

        Context initContext;
        DataSource datasource = null;
        try {
            initContext = new InitialContext();
            Context envContext = (Context) initContext.lookup("java:/comp/env");
            datasource = (DataSource) envContext.lookup("jdbc/bolsms");
        } catch (NamingException ex) {
            Logger.getLogger(ReceiveC2DMRegistration.class.getName()).log(Level.SEVERE, null, ex);
        } 

我的问题

对于 Context 我是否必须导入 javax.naming.contextorg.apache.catalina.Context 以及对于 DataSource 我是否必须导入 javax.sql.DataSourceorg.apache.tomcat.jdbc.pool.DataSource

最佳答案

针对特定于 Tomcat 的类/接口(interface)进行声明会使您的 Web 应用程序与 Tomcat 紧密耦合,从而使其无法在其他服务器上运行。你不想拥有那个。

尽可能始终针对标准 Java SE/EE 类/接口(interface)进行声明。通过这种方式,您的 Web 应用程序将可移植到所有服务器品牌(Tomcat、Glassfish、JBoss AS、Jetty 等)。

关于java - 导入 javax.naming.context 或 org.apache.catalina.Context?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11509146/

相关文章:

java/GWT 网络应用程序 : how to get a callback on Session Timeout

gwt - 如何在 GWT 和 Tomcat Webapp 之间共享 cookie?

java - 从 Java Web 服务器链接外部文件

java - 显示默认页面直到服务器启动

java - "GWT DateBox"Z-Index css 属性不适用于 GWT 中的 DateBox 小部件

java - 如何在每次播放tts时将音频文件另存为新文件?

java - Servlet 3 网络片段 - 不提供 META-INF 文件夹中的静态内容

java - 在这种情况下如何使用jOOQ(或其他东西)

java - 无法编译已实现接口(interface)的抽象类

java - 使用 Glassfish servlet 配置 Jetty 服务器