java调用jndi出错,无法使用Java JNDI上下文查找来访问对象
我正在運行Tomcat6并希望從我的Servlet訪問數據源。但我得到了
javax.naming.OperationNotSupportedException: can''t generate an absolute name for this namespace
at org.apache.naming.NamingContext.getNameInNamespace(NamingContext.java
:772)
我的context.xml在HomeController / META-INF / context.xml下:
acquireIncrement="5"
username="client"
password="1234"
jdbcUrl="jdbc:sqlserver://192.168.1.5:1433;databaseName=myDB;autoReconnect=true" />
我也將相同的context.xml重命名為我的webapp“HomeController”,并放在TOMCAT_HOME / conf / Catalina / localhost / HomeController.xml下。
我的web.xml看起來像這樣:
Home Controller
HomeController
com.home.controller.HomeController
HomeController
/HomeController
DB Connection
jdbc/HomeController
javax.sql.DataSource
Container
在我的Servlet中我有這個:
Connection conn = null;
Context ctx = null;
java.sql.Statement stmt = null;
try {
ctx = new InitialContext();
Context envCtx = (Context) ctx.lookup("java:comp/env"); //
DataSource ds = (DataSource) envCtx.lookup("jdbc/EmscribeWS");
conn = ds.getConnection();
DatabaseMetaData mt = conn.getMetaData();
stmt = conn.createStatement();
} catch (Exception e) {
e.printStackTrace();
}
我安裝了Tomcat6的新副本,并將sqljdbc4.jar放在TOMCAT_HOME / lib下。
我的HomeController / WEB-INF / lib下沒有JARS。
在我的Servlet中執行“(Context)ctx.lookup(”java:comp / env“);”時失敗。
任何人都知道為什么它在檢索對象時失敗了?
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的java调用jndi出错,无法使用Java JNDI上下文查找来访问对象的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 开启php soap,php soap
- 下一篇: php 取utc时间,得到UTC时间在P