在Java类文件中使用数据源

时间:2011-03-21 07:46:16

标签: java datasource

我在eclipse中使用数据源资源管理器。连接已设置,现在我想在普通的Java文件中使用它。我在JSP文件中使用了相同的数据源资源管理器。

根据网络项目部分的this article,我尝试过这样做。

我尝试按照此Java代码

创建数据源对象
Context ctx = new InitialContext();
DataSource ds = (DataSource) ctx.lookup("jdbc/mysqltest");
con = ds.getConnection(); 

但它会抛出异常,如下所示

javax.naming.NameNotFoundException: Name jdbc is not bound in this Context
    at org.apache.naming.NamingContext.lookup(NamingContext.java:770)
    at org.apache.naming.NamingContext.lookup(NamingContext.java:153)
    at org.apache.naming.SelectorContext.lookup(SelectorContext.java:152)
    at javax.naming.InitialContext.lookup(InitialContext.java:392)
    at logic.Leave.(Leave.java:42)
    at org.apache.jsp.Leaveform_jsp._jspService(Leaveform_jsp.java:549)
    at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
    at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:377)
    at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
    at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859)
    at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
    at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
    at java.lang.Thread.run(Thread.java:662)

2 个答案:

答案 0 :(得分:1)

在数据源资源管理器中设置数据源不会影响您的服务器环境。

您需要在Tomcat中定义数据源:context.xmlserver.xml

答案 1 :(得分:1)

您必须正确配置此数据源的JNDI属性。 例如:如果您使用的是JBOSS应用服务器,则可以在db2-ds.xml文件中完成。

相关问题