javaWeb——struct2 配置tomcat数据源方法连接数据库
1、今天使用struct2 通过配置数据源(数据库连接池)方式来编写数据库程序,按照”王者归来“的步骤和”tomcat内置的帮助文档“来配置mysql数据源,在\tomcat6.0\conf\context.xml文件中加入
<Resource name="jdbc/databaseWeb"
auth="Container"
type="javax.sql.DataSource"
maxActive="100" maxIdle="30" maxWait="10000"
username="root" password=""
dirverClassName="com.mysql.jdbc.Driver"
url="jdbc:mysql://localhost:3306/student_info"/>,
项目的web-info\ web.xml文件中加入
<resource-ref>
<description>DB Connection</description>
<res-ref-name>jdbc/databaseWeb</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
<res-sharing-scope>Shareable</res-sharing-scope>
</resource-ref>
将驱动文件复制到tomcat6.0\lib目录下,然后调试运行。
获取数据库连接的java代码:
Context initContext = new InitialContext();
DataSource ds=(DataSource)initContext.lookup("java:comp/env/jdbc/databaseWeb");
//获取所有的资源,并获取JNDI数据源
Connection conn = ds.getConnection(); //申请一个Connection
.....................获得conn后,后面就是操作数据库的部分和jdbc步骤都一样,获取statement ResultSet 等。
会出现如下异常org.apache.tomcat.dbcp.dbcp.SQLNestedException: Cannot create JDBC driver of class '' for connect URL 'jdbc:mysql://localhost:3306/student_info'
..........
.......... 中间是一些没用的东西
Caused by: java.sql.SQLException: No suitable driver
at java.sql.DriverManager.getDriver(DriverManager.java:264)
..........
主要是看到了下面这篇文章,然后才解决了问题,最后发现需要将驱动程序的路径加入的classpath中,或者将驱动复制到C:\Program Files\Java\jdk1.6.0_24\jre\lib\ext 扩展目录下,这样就可以连接数据库了,并且成功。
原文:
http://www.blogjava.net/w2gavin/articles/217864.html
今天出现编码出现了No suitable driver found for jdbc,又是找遍了网上的资料,基本上都说是三个问题:
一是:连接URL格式出现了问题(Connection conn=DriverManager.getConnection("jdbc:mysql://localhost:3306/XX","root","XXXX")
二是:驱动字符串出错(com.mysql.jdbc.Driver)
三是Classpath中没有加入合适的mysql_jdbc驱动
经过我的仔细检查,这三种错误我都没有犯,为什么呢?
尝试着将mysql-connector-java-3.1.14-bin.jar的jar包加入C:\Program Files\Java\jre1.6.0_02\lib\ext文件夹下,问题解决了!!
原来是不仅仅要求将驱动加入classpath中,而且需要将该jar包加入到java运行环境的外部jar包中,唉,下次这种低级错误还是少犯为妙。