以前中练习时,遇到使用连接池时没有怎么在意觉得还是比较容易,没有很在意,觉得就是那个几个的配置问题简单的很!!!
这次做博客系统的时候,觉得开始用连接池。可是当我把所有的配置都配置好后,开始验证的时候,就出现了一系列的问题,其中一个最让我纠结的文件就是这个javax.naming.NoInitialContextException。这是尼玛错误
??纠结了我起码三个小时都没有解决,哎。。。
悲剧!!!上网查资料,到论坛上提问,都没有解决!!!
等过了一会儿,我突然脑中灵光一闪,既然java代码中不可以,那jsp中呢??等我在jsp中尝试的时候又遇到了Cannot load JDBC driver class 'com.microsoft.sqlserver.jdbc.SQLServerDriver'这个错误??为什么找不到驱动??我这里明明已经把该驱动复制到WEB-INF/lib中了啊??为什么还有错误呢??想不通!!然后又百度??找到了答案,要把该驱动复制到tomcat目录的lib下!!哎。。终于可以了!!感谢上帝!!感谢百度!!!!
下面是关于在 tomcat 6.0中的使用连接池的相关的配置!!!
一般可以这三个文件中可以配置:tomcat目录下的conf/context.xml、server.xml和webapps/app../META-INF/context.xml中进行配置:
<Context reloadable="true">
<WatchedResource>WEB-INF/web.xml</WatchedResource>
<Resource name="jdbc/server"
auth="Container"
type="javax.sql.DataSource"
driverClassName="com.microsoft.sqlserver.jdbc.SQLServerDriver"
url="jdbc:sqlserver://localhost:1433;databaseName=blog"
username="sa"
password="SQL2005"
maxActive="100"
maxIdle="30"
maxWait="10000" />
</Context>
然后是web.xml中的配置:
<resource-ref>
<description>DBConnection</description>
<res-ref-name>jdbc/server</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
注意:在web.xml中的<res-ref-name>中的值要和Resource中的name的名字一样
最后是测试代码了:
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@page import="java.sql.*"%>
<%@page import="javax.naming.*"%>
<%@page import="javax.sql.DataSource"%>
<html>
<head>
<title>Tomcat Connection Pool Test</title>
</head>
<body>
<%
try {
Context ctx = new InitialContext();
Context envContext = (Context) ctx.lookup("java:/comp/env");
DataSource ds = (DataSource) envContext.lookup("jdbc/server");
Connection conn = ds.getConnection();
out.println(conn);
conn.close();
} catch (NamingException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}
%>
</body>
</html>
由于在Tomcat中配置了数据源,可以通过(DataSource)envCtx.lookup(
''java:/comp/env/jdbc")来查找这个资料源。查找到这个资料源,就可以通过Connection conn = ds.getConnection()的方法来获得一个到数据库的连接。
在这里测试代码一定要在jsp中使用 同时并在tomcat的lib下和WebRoot/WEB-INF/lib下加入上驱动文件
Tomcat配置时连接池驱动包必须放在tomcat目录下的lib里。这是因为Tomcat连接池是在Tomcat启动时就创建了,那里还没有加载项目里的驱动包。
分享到:
相关推荐
Tomcat6.0+MyEclipse6.0+mysql5.0数据库连接池配置!.pdf
Tomcat关于jdbc连接池的配置 包含tomcat6.0与tomcat5.5
Tomcat6.0+MyEclipse6.0+mysql5.0数据库连接池配置!宣贯.pdf
Tomcat6.0+MyEclipse6.0+mysql5.0数据库连接池配置![参考].pdf
Tomcat6.0+MyEclipse6.0+mysql5.0数据库连接池配置![借鉴].pdf
Tomcat6.0 + Sql2000的连接池配置,本人总结的,非常好用的
tomcat6.0配置数据库连接池常见错误解决方案 tomcat6.0配置数据库连接池常见错误解决方案 tomcat6.0配置数据库连接池常见错误解决方案
Tomcat6.0使用jdbc连接池连接[参考].pdf
tomcat6.0数据库连接池驱动.希望对大家有用!
详尽的数据库连接池配置方法,主要是利用tomcat6.0+oracle,利用第三方dbcp-jar包,可以取得当前连接数。
Tomcat6.0使用jdbc连接池连接mysql--操作步骤介绍 初学者比不可少的
介绍tomcat6.0中,配置oracle数据库连接池的步骤
* maxWait - 当连接池中没有可用连接时,连接池在抛出异常前将等待的最大时间,单位毫秒。 *password - 传给JDBC驱动的数据库密码。 * url - 传给JDBC驱动的连接URL。 * user - 传给JDBC驱动的数据库用户名。 * ...
tomcat连接池 从5.0到6.0的tomcat连接池 从5.0到6.0的tomcat连接池 从5.0到6.0的tomcat连接池 从5.0到6.0的tomcat连接池 从5.0到6.0的tomcat连接池 从5.0到6.0的tomcat连接池 从5.0到6.0的tomcat连接池 从5.0到6.0的...
tomcat6.0连接池配置方法详解,需要的朋友来看看
Tomcat6.0连接池配置 1.配置tomcat下的conf下的server.xml中的host标签中添加连接池配置: <Context path="/hrms" docBase="hrms" debug="5" reloadable="true" crossContext="true"> 1. 2. auth="Container" ...
这个文档教你如何用tomcat6.0来配置sql2005数据库连接池,对于一些初学java的学习者来说这是一片很好的学习文档,让你在配置环境时省去不少的麻烦。
tomcat6.0配 置 连 接 池 的 包 文 件