文档章节

数据源连接池NameNotFoundException问题解决

Eviltuzki
 Eviltuzki
发布于 2014/10/24 15:56
字数 367
阅读 71
收藏 0

1. ojdbc14.jar拷贝到Tomcat的lib下

2. 配置Tomcat 的conf/context.xml

<Context>
<Resource name="jdbc/shop"
auth="Container" type="javax.sql.DataSource" maxActive="100"
maxIdle="30" maxWait="10000" username="ceshi" password="pwd1234"
driverClassName="oracle.jdbc.OracleDriver "
url="jdbc:oracle:thin:@localhost:1521:orcl "/>
</Context>

3. 使用JNDI获取连接对象

Context ic = new InitialContext();
DataSource source = (DataSource)ic.lookup("java:comp/env/jdbc/shop");
Connection connection = source.getConnection();

4. 在JSP页面中查看是否已经获得连接对象

    <%
        NewsDao nd = new NewsDao();
        Connection conn = nd.getConnection();
    %>
    <%=conn%>

仅仅进行上面3部操作,在Eclipse下测试,会出现异常:
javax.naming.NameNotFoundException: Name [jdbc/shop] is not bound in this Context. Unable to find [jdbc].
    at org.apache.naming.NamingContext.lookup(NamingContext.java:819)
    at org.apache.naming.NamingContext.lookup(NamingContext.java:153)
    at org.apache.naming.NamingContext.lookup(NamingContext.java:830)
    at org.apache.naming.NamingContext.lookup(NamingContext.java:153)
    at org.apache.naming.NamingContext.lookup(NamingContext.java:830)
    at org.apache.naming.NamingContext.lookup(NamingContext.java:167)
    at org.apache.naming.SelectorContext.lookup(SelectorContext.java:156)
    at javax.naming.InitialContext.lookup(InitialContext.java:411)
    at com.bjut.jndi.NewsDao.getConnection(NewsDao.java:23)
    at org.apache.jsp.index_jsp._jspService(index_jsp.java:77)
    at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
    at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:432)
    at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:395)
    at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:339)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
    at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122)
    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:503)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:170)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
    at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:950)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:421)
    at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1070)
    at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:611)
    at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:314)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
    at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
    at java.lang.Thread.run(Thread.java:744)

解决方法其实很简单,因为Eclipse创建了context.xml文件的副本,位于Servers文件夹下面,Tomcat 的conf/context.xml修改之后,同时修改Servers文件夹下的context.xml文件,问题直接就解决了。

© 著作权归作者所有

Eviltuzki
粉丝 5
博文 31
码字总数 11990
作品 0
朝阳
程序员
私信 提问
DreamWork/mgds4j

mgds4j 梦来梦往 自己实现的数据源与连接池工具,全称 mgang datasource for java ##2015-04-23 1.升级mgds4j的日志功能,基于log4j。 只需要在mgds4j.xml中的factory节点下配置常量constan...

DreamWork
2014/11/28
0
0
关于MySQL数据库连接超时问题的分析与解决

操作系统 Windows 10 Enterprise,数据库 MySQL-5.5.16,c3p0-0.9.5.2 关于针对数据库的连接,之前没有特别注意过,直到遇到如下问题: Could not open JDBC Connection for transaction; ne...

lmy86263
2017/07/09
0
0
缓存与连接池

一.初识高速缓存和连接池 设想这样一种情形:你突然口渴,需要一杯水来缓解,从心情上来讲,当然是越快越好 了。通常,一杯水的产生包括从水源(井水、河水或江水、甚至海水等)抽取,通过管...

储明城
2016/03/08
121
0
解决Caused by: java.sql.SQLRecoverableException: IO Error: Connection reset相关问题

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/majian_1987/article/details/18598589 java.sql.SQLException: Io 异常: Connection reset 当数据库连接池中...

大饼卷馒头蘸米饭
2014/01/21
0
0
mybatis源码解读(三)——数据源的配置

  在mybatis-configuration.xml 文件中,我们进行了如下的配置:   其中 是对事务的配置,下篇博客我们会详细介绍。   本篇博客我们介绍 对于数据源的配置

ysocean
2018/05/09
0
0

没有更多内容

加载失败,请刷新页面

加载更多

新建时隐藏按钮,显示明细时显示

在InitControl()中 if (saTableKeys != null) { rpgDesign.Visible = true; rpgPrint.Visible = true; }......

_Somuns
36分钟前
5
0
【实战演练,拒绝996】-SpringBoot2.x自定义Spring boot Starter

欢迎关注 提升能力,涨薪可待 面试知识,工作可待 实战演练,拒绝996 如果此文对你有帮助、喜欢的话,那就点个赞呗! 前言 是不是感觉在工作上难于晋升了呢? 是不是感觉找工作面试是那么难呢...

ccww_
37分钟前
10
0
SpringBoot从入门到放弃,原理篇-自动配置原理

SpringBoot从入门到放弃,原理篇-自动配置原理 springboot自动配置原理 配置文件能配置的属性参照 自动配置原理 1、springboot启动的时候加载主配置类,开启了自动配置功能@EnableAutoConfig...

有一个小阿飞
今天
11
0
php变量和数据类型

php中的变量 PHP中的变量声明 PHP中的变量的使用 PHP中的数据类型之整型 PHP数据类型之浮点类型和布尔类型 PHP数据类型之字符串类型 PHP数据类型之heredoc和nowdoc的使用 PHP数据类型之复合类...

达达前端小酒馆
今天
7
0
OSChina 周日乱弹 —— 沙发忽然就爆炸了,吓死我了

Osc乱弹歌单(2019)请戳(这里) 【今日歌曲】@这次装个文艺青年吧:#今日歌曲推荐# 分享Vicetone/Youngblood Hawke的单曲《Landslide》: 《Landslide》- Vicetone/Youngblood Hawke 手机党...

小小编辑
今天
253
10

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部