severlet容器中的JNDI引发的思考

一位使用一年Java的初学者在将问卷调查系统从SQLSERVER2000升级到2005时遇到的问题,涉及到JNDI方式的数据连接配置错误。讨论了JDBC、J2EE架构、容器与Web项目的关系,以及数据库连接资源的正确位置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

     最近一个小朋友,问了我一个急剧郁闷的问题,java平台开发的一个问卷调查系统,源代码是基于SQLSERVER2000的,现在换成2005怎么弄,还把代码传过来让我帮忙改,我拒绝,这需要改代码吗?2000和2005的JDBC驱动包都一样的怎么会需要改呢?我问报什么错,说can’t classload :。。。。一看就知道没找到驱动包,我说你把驱动包加上去,小伙说还错,我火大了,远程一看我无语了,他们用的是JNDI方式,小伙加死了WEB-INF/lib下面的驱动这辈子也起不来服务。

     最后让他把驱动加入到tomcat/lib下面,才OK。小伙号称学习JAVA一年之久。已经知道JDBC怎么回事情,知道J2EE架构,我晕啊。我后来说你这个是JNDI方式的数据连接,驱动要放到容器项目的LIB下面,一脸茫然,我说tomcat是一个实现servlet的容器你知道不?一脸茫然。他来已经项目下面的不都是放到WEB-INF/lib下面吗?是啊,你说的没错,可是你现在用的是容器上面的服务资源,你的数据库连接资源(DateSource)是在容器上面提供的,所以相当于JDBC的连接程序在容器级别。还是一脸茫然。。。于是乎我有冲动把全部的severlet容器和web项目的关系和他说一边。结果小伙来一句“我想放弃JAVA。。。。”现在的孩子为什么没有一个完整系统的学习和研究的过程啊。。。。

转载于:https://my.oschina.net/zoujianfang/blog/135806

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值