【求助】连接数据库时遇到问题,求大神解惑。_有问有答_Weblogic技术|Tuxedo技术|中间件技术|Oracle论坛|JAVA论坛|Linux/Unix技术|hadoop论坛_联动北方技术论坛  
网站首页 | 关于我们 | 服务中心 | 经验交流 | 公司荣誉 | 成功案例 | 合作伙伴 | 联系我们 |
联动北方-国内领先的云技术服务提供商
»  游客             当前位置:  论坛首页 »  自由讨论区 »  有问有答 »
总帖数
3
每页帖数
101/1页1
返回列表
0
发起投票  发起投票 发新帖子
查看: 3609 | 回复: 2   主题: 【求助】连接数据库时遇到问题,求大神解惑。        下一篇 
席城说眼泪是蜕变
注册用户
等级:列兵
经验:86
发帖:2
精华:0
注册:2015-8-31
状态:离线
发送短消息息给席城说眼泪是蜕变 加好友    发送短消息息给席城说眼泪是蜕变 发消息
发表于: IP:您无权察看 2015-8-31 18:09:45 | [全部帖] [楼主帖] 楼主

网页中显示Name [jdbc/webdb] is not bound in this Context. Unable to find [jdbc].
以下是我的ViewDictionary.java
try
{
out.println("<b>Hello world!</b>");
//获得Context对象实例
javax.naming.Context ctx = new javax.naming.InitialContext();
//根据webdb数据源获得DataSource对象
javax.sql.DataSource ds = (javax.sql.DataSource) ctx.lookup("java:comp/env/jdbc/webdb"); 
out.println("<b>Hello world!</b>");
//获得Connection对象
Connection conn = ds.getConnection();
}

project名字是webdemo
WebRoot-WEBINF-web.xml中配置如下:
<servlet>
<description>This is the description of my J2EE component</description>
<display-name>This is the display name of my J2EE component</display-name>
<servlet-name>ViewDictionary</servlet-name>
<servlet-class>chapter4.ViewDictionary</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>ViewDictionary</servlet-name>
<url-pattern>/servlet/viewdictionary</url-pattern>
</servlet-mapping>


tomcat安装目录下conf文件夹中sever.xml中相关配置如下:
<GlobalNamingResources>
<Resource name="jdbc/webdb" auth="Container"
type="javax.sql.Datasource"
driverClassName="com.mysql.jdbc.Driver"
url="jdbc:mysql://localhost:3300/webdb"
username="root"
password="steacy911"
maxActive="200"
maxIdle="50"
maxWait="3000"/>
</GlobalNamingResources>


tomcat安装目录下\conf\Catalina\localhost\webdemo.xml如下:
<Context path="/webdemo" docBase="webdemo" debug="0">
<ResourceLink name="jdbc/webdb" global="jdbc/webdb" type="javax.sql.DataSource" />
</Context>


mysql中实例的port为3300.




赞(0)    操作        顶端 
shellyC1314
注册用户
等级:少校
经验:1334
发帖:75
精华:0
注册:2015-7-14
状态:离线
发送短消息息给shellyC1314 加好友    发送短消息息给shellyC1314 发消息
发表于: IP:您无权察看 2015-9-1 10:11:13 | [全部帖] [楼主帖] 2  楼

port:3300



赞(0)    操作        顶端 
panpan.nie
注册用户
等级:大校
经验:4754
发帖:217
精华:2
注册:1970-1-1
状态:离线
发送短消息息给panpan.nie 加好友    发送短消息息给panpan.nie 发消息
发表于: IP:您无权察看 2015-9-1 10:39:09 | [全部帖] [楼主帖] 3  楼

首先你检查配置是否有问题。

你认真的看了自己的context.xml和web.xml中的配置,觉得它们正确无误。而错误依然不能消除

你看一下自己的JSP文件,是否有这样一句:

DataSource ds=(DataSource)initContext.lookup("java:/comp/env/jdbc/webdb");

请将它改为:

 Context initContext = new InitialContext();   
 Context envContext = (Context)initContext.lookup("java:/comp/env");      
DataSource ds = (DataSource)envContext.lookup("jdbc/webdb");

虽然无数本书和帖子告诉你,这两个方法相同。但是,很明显,前一种会在某种情况下产生Name jdbc is not bound in this Context的错误。

具体原因我也不清楚,我也是复制过来的,希望知道原因的高人可以告知一二。




赞(0)    操作        顶端 
总帖数
3
每页帖数
101/1页1
返回列表
发新帖子
请输入验证码: 点击刷新验证码
您需要登录后才可以回帖 登录 | 注册
技术讨论