如何从tomcat webapp中的context.xml文件获取资源?

这是我的context.xml文件:

...  ... 

我已经尝试使用ServletContext.getResource(java.lang.String)和资源名称(“jdbc / MyDatasource”),但Tomcat抱怨该名称不以’/’开头。 我也试过“/ jdbc / MyDatasource”,但这次它返回null。

我主要需要jdbcUrl与数据库服务器进行连接检查 (查看服务器是否在线且可操作)。

关键字是:JNDI。 context.xml中的资源不是“系统资源”,而是JNDI资源。 尝试这个:

 InitialContext ic = new InitialContext(); // that's everything from the context.xml and from the global configuration Context xmlContext = (Context) ic.lookup("java:comp/env"); DataSource myDatasource = (DataSource) xmlContext.lookup("jdbc/MyDatasource"); // now get a connection to see if everything is fine. Connection con = ds.getConnection(); // reaching this point means everything is fine. con.close(); 

您应该能够使用以下代码访问数据源:

 Context initialContext = new InitialContext(); Context envContext = (Context)initialContext.lookup("java:/comp/env"); DataSource ds = (DataSource)envContext.lookup("jdbc/MyDatasource");