开发者社区> 问答> 正文

tomcat使用连接池的问题

我只是通过一个jsp页面去连接mysql,但是始终不能通过,到最后确认一切都配置正确,页面却显示空白,麻烦各位帮我看看哪里有问题吧
说明:不用连接池的方式是可以正确连接到mysql并取出数据的
我这种配置方法分为4步:
1·配置tomcat的主配置文件,加入

<Resource name="jdbc/clickdb1"
              auth="Container"
              type="javax.sql.DataSource"
              username="test"
              password="123"
              driverClassName="com.mysql.jdbc.Driver"
              url="jdbc:mysql://192.168.203.153:3306/java?autoReconnect=true"
              maxActive="100"
              maxIdle="20"
              maxWait="5000"
              minIdle="10" />

2·建一个jsp页面,内容:

<%@ page contentType="text/html; charset=GBK" %>
<%@ page import="java.sql.*,javax.sql.DataSource,javax.naming.*" %>
<%@ page session="false" %>

<%
try
{
Context initContext = new InitialContext();
Context envContext  = (Context)initContext.lookup("java:/comp/env");
DataSource ds = (DataSource)envContext.lookup("jdbc/clickdb1");
Connection conn=ds.getConnection();
out.println("data from database:<br>");
Statement stmt=conn.createStatement();
ResultSet rs =stmt.executeQuery("select * from test;");
while(rs.next())
{
out.println(rs.getInt("id"));
out.println(rs.getString("name"));
out.println(rs.getString("text"));
}
rs.close();
stmt.close();
}
catch(Exception e)
{
e.printStackTrace();
}
%>

3·mysql中,建立java库,在其中建立test表,插入一条数据。然后建立test用户,密码为123

4·下载mysql-connector-java-5.1.12-bin.jar到tomcat的lib目录下,并且在系统启动脚本中设置CLASSPATH变量

最后重启tomcat

展开
收起
落地花开啦 2016-03-23 17:02:25 2248 0
1 条回答
写回答
取消 提交回答
  • 喜欢技术,喜欢努力的人

    先不说这段代码充满着错误模式。

    你应该看看tomcat 的日志,看看 e.printStackTrace(); 这句的执行结果。

    可能是缺少对连接池资源的引用:

    web.xml

    `

        <description>ConnectionPool</description>
        <res-ref-name>jdbc/TomcatDbPool1</res-ref-name>
        <res-type>javax.sql.DataSource</res-type>
        <res-auth>Container</res-auth>

    `

    2019-07-17 19:11:33
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
Apache Tomcat 的云原生演进 立即下载
低代码开发师(初级)实战教程 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载