如何从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");