我是这么做的(我是按照v512高端JAVA视频上的配置的。):
1、先修改tomcat5.5/conf/content.xml,我加上了如下代码:
<Resource name="jdbc/mysqlds" auth="Container" type="javax.sql.DataSource" maxActive="100" maxIdle="30"
maxWait="10000" username="root" password="56906950" driverClassName="com.mysql.jdbc.Dirver"
url="jdbc:mysql://127.0.0.1:3333/music" />其中3333是我的数据库端口,music是我需要连接的数据库...2、把mysql驱动放进tomcat5.5/common/lib文件夹中3、然后再项目中引用:
Context context=new InitialContext();
DataSource ds=(DataSource)context.lookup("java:/comp/env/jdbc/mysqlds");
conn=ds.getConnection();然后启动tomcat服务器,但是用测试JAVA类测试连接的时候,出现异常:
javax.naming.NoInitialContextException: Need to specify class name in environment or system property, or as an applet parameter, or in an application resource file: java.naming.factory.initial
1、先修改tomcat5.5/conf/content.xml,我加上了如下代码:
<Resource name="jdbc/mysqlds" auth="Container" type="javax.sql.DataSource" maxActive="100" maxIdle="30"
maxWait="10000" username="root" password="56906950" driverClassName="com.mysql.jdbc.Dirver"
url="jdbc:mysql://127.0.0.1:3333/music" />其中3333是我的数据库端口,music是我需要连接的数据库...2、把mysql驱动放进tomcat5.5/common/lib文件夹中3、然后再项目中引用:
Context context=new InitialContext();
DataSource ds=(DataSource)context.lookup("java:/comp/env/jdbc/mysqlds");
conn=ds.getConnection();然后启动tomcat服务器,但是用测试JAVA类测试连接的时候,出现异常:
javax.naming.NoInitialContextException: Need to specify class name in environment or system property, or as an applet parameter, or in an application resource file: java.naming.factory.initial
解决方案 »
- Java调用webservice问题
- EL表达式有没有类似struts <bean:write name 标签中的filter属性啊
- 正则表达示如何检验四则运算?在线等!
- 如何在一个页面中访问两个防在不同位置由不同连接文件连接的两个数据库呢?这个是不是没有办法实现呢?
- 请求一个问题,关于用struts开发的话,业务处理应该写在哪里?是不是写在Action里?
- HTTP RESTful 测试工具
- 信息: Configured SessionFactory: null 配置文件没问题。在线等
- 学习JSP看什么书好
- 兄弟们我怎么样才能从一个web网站上下在一个源文件呢,用什么软件好呢?
- Exception in thread "main" java.lang.NoClassDefFoundError: 为什么?
- 谁有自动生成网站的系统
- ajax怎样传值给JSP
应该是
com.mysql.jdbc.Driver
这个端口有问题吧,,mysql默认的是3306,你改端口了?
<Resource name="jdbc/mysqlds" auth="Container" type="javax.sql.DataSource" maxActive="100" maxIdle="30"
maxWait="10000" username="root" password="56906950" driverClassName="com.mysql.jdbc.Dirver"
url="jdbc:mysql://127.0.0.1:3333/music" />
这里的jdbc/mysqlds是否是正确的?运行时路径对吗?DataSource ds=(DataSource)context.lookup("java:/comp/env/jdbc/mysqlds");
貌似没有comp吧?是不是com?
DataSource ds=(DataSource)context.lookup("java:/comp/env/jdbc/mysqlds");
字符串确实是comp,我按照例子做的啊。
是不是需要配置JNDI什么的?
除了这几部还需要做别的什么吗?谢谢各位的热心啊
DataSource ds=(DataSource)context.lookup("java:comp/env/jdbc/mysqlds");
我把所有的手工错误改正后,在JSP页面进行了调试,发现JSP页面可以成功,但是在JAVA类里面就不行了
这是怎么回事呢?一般在数据库操作层不都是java类么,这样的话数据源应该有办法在java类里直接使用吧?
public class DataSourceTest {
public static void main(String[] args){
DataSourceTest data=new DataSourceTest();
Connection conn=data.getConn();
}
public Connection getConn(){
Connection conn=null;
try{
Context context=new InitialContext();
DataSource ds=(DataSource)context.lookup("java:comp/env/jdbc/mysqlds");
conn=ds.getConnection();
if(conn!=null)
System.out.println("------CONN生成------");
}catch(Exception e){
e.printStackTrace();
}
return conn;
}
}这是我的JAVA测试类