Myeclipse配置Tomcat Jndi数据源问题

fish0415 2007-07-05 10:11:29
我做了一个非常简单的Hiernate的程序,用普通的jdbc是没问题的,但是如果用tomcat的JNDI数据源就有问题了,出现错误:
xception in thread "main" org.hibernate.HibernateException: Could not find datasource
at org.hibernate.connection.DatasourceConnectionProvider.configure(DatasourceConnectionProvider.java:56)
at org.hibernate.connection.ConnectionProviderFactory.newConnectionProvider(ConnectionProviderFactory.java:124)
at org.hibernate.connection.ConnectionProviderFactory.newConnectionProvider(ConnectionProviderFactory.java:56)
at org.hibernate.cfg.SettingsFactory.createConnectionProvider(SettingsFactory.java:366)
at org.hibernate.cfg.SettingsFactory.buildSettings(SettingsFactory.java:60)
at org.hibernate.cfg.Configuration.buildSettings(Configuration.java:1881)
at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1174)
at hinernate.HiberOperator.<init>(HiberOperator.java:21)
at hinernate.Test.main(Test.java:14)
Caused by: javax.naming.NoInitialContextException: Cannot instantiate class: [Root exception is java.lang.ClassNotFoundException: ]
at javax.naming.spi.NamingManager.getInitialContext(Unknown Source)
at javax.naming.InitialContext.getDefaultInitCtx(Unknown Source)
at javax.naming.InitialContext.init(Unknown Source)
at javax.naming.InitialContext.<init>(Unknown Source)
at org.hibernate.util.NamingHelper.getInitialContext(NamingHelper.java:28)
at org.hibernate.connection.DatasourceConnectionProvider.configure(DatasourceConnectionProvider.java:52)
... 8 more
Caused by: java.lang.ClassNotFoundException:
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Unknown Source)
at com.sun.naming.internal.VersionHelper12.loadClass(Unknown Source)
... 14 more

但是我的数据源是存在并且可用的,我的hibernat.cfg.xml是:
<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">

<!-- Generated by MyEclipse Hibernate Tools. -->
<hibernate-configuration>

<session-factory>
<property name="connection.datasource">java:comp/env/jdbc/MyJndi</property>

<property name="connection.username">root</property>
<property name="connection.password">root</property>

<property name="dialect">org.hibernate.dialect.MySQLDialect</property>

<property name="jndi.url">jdbc:mysql://localhsot:3306/FishDB</property>
<property name="jndi.class"></property>

<mapping resource="bean/Stockinfo.hbm.xml" />

</session-factory>

</hibernate-configuration>

请问高手是什么原因呢?谢谢
...全文
897 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
yuning098 2008-09-18
  • 打赏
  • 举报
回复
支持楼上的!
如果说你用Datasource连接数据源没有问题的话,这些不用写
<property name= "connection.username "> root </property>
<property name= "connection.password "> root </property>
<property name= "jndi.url "> jdbc:mysql://localhsot:3306/FishDB </property>
<property name= "jndi.class "> </property>
还有在web.xml也不用配置数据源
真的很小奚 2007-07-09
  • 打赏
  • 举报
回复
给你看下我写过的数据源 xml
<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">

<!-- Generated by MyEclipse Hibernate Tools. -->
<hibernate-configuration>

<session-factory>
<property name="connection.datasource">
java:comp/env/jdbc/Hibernate
</property>
<property name="show_sql">true</property>
<property name="dialect">
org.hibernate.dialect.SQLServerDialect
</property>
<mapping resource="org/myhibernate/bean/Notice.hbm.xml" />
<mapping resource="org/myhibernate/bean/Userinfo.hbm.xml"></mapping>
</session-factory>

</hibernate-configuration>
个人认为
<property name="connection.username">root</property>
<property name="connection.password">root</property>

<property name="dialect">org.hibernate.dialect.MySQLDialect</property>

<property name="jndi.url">jdbc:mysql://localhsot:3306/FishDB</property>
<property name="jndi.class"></property>
这些属于重复配置了
fish0415 2007-07-06
  • 打赏
  • 举报
回复
在tomcat的server.xml文件中:
<Resource
name="jdbc/MyJndi"
type="javax.sql.DataSource"
password="root"
driverClassName="com.mysql.jdbc.Driver"
maxIdle="5"
maxWait="5000"
username="root"
url="jdbc:mysql://localhost:3306/FishDB"
maxActive="10"/>
想问一下是否跟session的代码有关的?
zjf405 2007-07-06
  • 打赏
  • 举报
回复
tomcat的数据源你是怎么配置的?贴出来看看
zjf405 2007-07-06
  • 打赏
  • 举报
回复
mysql的驱动包放到common下的lib目录了吗
目录 实验一 熟悉J2EE编程环境 7 一、实验目的及任务 7 二、实验环境 7 三、实验步骤 7 1、JDK150的下载、安装和配置 7 ①新增系统变量JAVA_HOME: 7 ②编辑系统变量Path: 8 2、下载、安装Tomcat web服务器 9 3、下载、安装MyEclipse 9 6、启动MyEclipse 9 7、配置MyEclipse 10 ①配置JRE 10 ②配置集成Tomcat 11 四、实验报告 12 实验二 JDBC初步 13 一、实验目的 13 二、实验环境 13 三、实验步骤 13 1、JDBC使用准备工作 13 ①新建数据库 13 ②新建表 13 ③创建MyEclipse项目 14 ④配置项目构建路径添加SQL Server的JDBC驱动程序 14 2、JDBC实现CRUD操作 14 四、实验报告 15 实验三 JDBC进阶 16 一、实验目的 16 二、实验环境 16 三、实验步骤 16 1、在Eclispe中创建Java项目并编写DBConnection类 16 2、使用DBConnection类进行数据库CRUD操作 16 3、使用PreparedStatement对象 16 四、实验报告 16 实验四 Servlet 17 一、实验目的 17 二、实验环境 17 三、实验步骤 17 1、在Eclispe中创建J2EE项目 17 2、编写完成如下功能的代码进行测试 17 3、使用Servlet处理客户端请求实现用户注册 17 四、实验报告 18 实验五 JSP 19 一、实验目的 19 二、实验环境 19 三、实验步骤 19 1、新建MyEclipse的web项目jsp 19 2、编写显示HelloWorld!的JSP 19 3、在显示HelloWorld!的JSP中使用注释 20 4、使用包含指令 20 四、实验报告 21 实验六 设计用户注册页面获取表单数据 22 一、实验目的 22 二、实验环境 22 三、实验步骤 22 1、在MyEclipse中创建Web项目jsp 22 四、实验报告 23 实验七 使用JavaBean 24 一、实验目的 24 二、实验环境 24 三、实验步骤 24 1、创建web项目jsp 24 2、创建Student JavaBean 24 3、使用脚本段语法来访问JavaBean 24 (2)在javabean下新建register_check.jsp,使用页面指令导入JavaBean类或其所在的包:<%@ page import=“javabean.Student”%> 24 4、使用访问JavaBean 25 四、实验报告 25 实验八 JSP+JavaBean开发模式1 26 一、实验目的 26 二、实验环境 26 三、实验步骤 26 1、数据库设计 26 2、创建Student JavaBean 26 3、为Student JavaBean增加业务方法 27 4、编写JSP页面实现用户登录、用户注册、用户个人信息修改 27 四、实验报告 27 实验九 JSP+JavaBean开发模式2 28 一、实验目的 28 二、实验环境 28 三、实验步骤 28 1、实现管理员用户列表功能 28 2、实现管理员根据用户名模糊查询功能 28 四、实验报告 28 实验十 JSP+JavaBean开发模式中分页技术 29 一、实验目的 29 二、实验环境 29 三、实验步骤 29 1、编写分页组件split_page.jsp 29 2、编写listAll.jsp分页显示用户 29 四、实验报告 29 实验十一 使用SmartUpload组件进行文件上传下载 30 一、实验目的 30 二、实验环境 30 三、实验步骤 30 1、创建JSP页面upload.html实现客户端选择浏览文件 30 2、doUpload.jsp,进行上传处理 30 3、创建创建下载文件页面download.jsp 30 4、创建执行下载任务页面:do_download.jsp 30 5、部署web程序进行测试 30 四、实验报告 30 实验十二 配置Tomcat JNDI数据源 31 一、实验目的 31 二、实验环境 31 三、实验步骤 31 1、配置Tomcat数据源 31 2、编写DBConnectionByDS类 31 3、编写登录程序测试DBConnectionByDS类是否正常运行 31 四、实验报告 31 实验十三 过滤器解决中文乱码及登录验证 32 一、实验目的 32 二、实验环境 32 三、实验步骤 32 1、创建web过滤器实现form表单post提交的中文乱码 32 2、配置中文乱码过滤器 32 3、创建登录验证的过滤器并配置 32 四、实验报告 32 实验十四 JSP+Servlet+JavaBean开发模式 33 一、实验目的 33 二、实验环境 33 三、实验步骤 33 1、创建Servlet LoginServlet实现登录验证 33 2、创建login.jsp、admin.jsp、user.jsp 33 3、调试程序是否正常运行 33 四、实验报告 33 实验十五 JSTL和EL在MVC中的主要应用 34 一、实验目的 34 二、实验环境 34 三、实验步骤 34 1、创建ListUsers Servlet 34 2、配置ListUsers Servlet 34 3、编写listUsers.jsp 34 4、调试程序 34 四、实验报告 34 实验十六 JSP+DAO开发模式 35 一、实验目的 35 二、实验环境 35 三、实验步骤 35 1、编写POJO User类 35 2、编写或使用原来的DBConnection类获得数据库连接 35 3、创建数据访问抽象层接口UserDAO 35 4、创建数据访问实现类UserDAOImpl 35 5、创建登录需要的JSP页面 35 四、实验报告 35

58,453

社区成员

发帖
与我相关
我的任务
社区描述
Java Eclipse
社区管理员
  • Eclipse
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧