【发布时间】:2014-02-03 21:49:29
【问题描述】:
我希望我不会因为找不到答案而提出重复的问题。 我收到此错误:
javax.naming.NamingException: 在 SerialContext 中查找 'jdbc/osclassDB' 失败
这就是我所做的:我设置了一个 JDBC 连接池 和一个指向该池的 JDBC 资源(都在 Glassfish 中)。
然后我告诉我的 web.xml 有一个 JDBC 资源:
<resource-ref>
<res-ref-name>jdbc/osclassDB</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
<res-sharing-scope>Shareable</res-sharing-scope>
</resource-ref>
然后我尝试在 Servlet 中使用该资源:
Connection connection = null;
try {
InitialContext initialContext = new InitialContext();
//Context dbContext = (Context) initialContext.lookup("java:comp/env");
DataSource dataSource = (DataSource) initialContext.lookup("jdbc/osclassDB");
connection = dataSource.getConnection();
if (connection == null) {
throw new SQLException("Error establishing connection!");
}
// some queries here
}
// catch and finally close connection
但是当我调用 Servlet 时,它会抛出 NamingException 并告诉我 Lookup failed for 'jdbc/osclassDB' in SerialContext
我在这里做错了什么?是 web.xml 吗?我错过了什么? 谢谢您的帮助!
【问题讨论】:
标签: java servlets jdbc glassfish web.xml