在网上查了很多,最后实现了。下面写一下过程:

首先,在WEBROOT/META-INF下建一个文件context.xml,内容为:

<?xml version="1.0" encoding="UTF-8"?>
<Context>
<Resource
name="jdbc/ConnectionPool"
auth="Application"
type="javax.sql.DataSource"
username="root"
password="root"
driverClassName="com.mysql.jdbc.Driver"
url="jdbc:mysql://localhost:3306/sow"
maxActive="8"
maxIdle="4"/>
</Context>

其中,name属性为数据库连接池的名称,auth属性为数据库连接池的作用范围,Application为作用于本web项目;url属性的后面sow为数据库名;

其次,在web.xml中添加配置:

 <resource-ref>
<description>news DataSource</description>
<res-ref-name>jdbc/ConnectionPool</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Application</res-auth>
</resource-ref>

注意里面的属性要一致。

接着,新建MyJsp.jsp用作测试

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ page import="java.sql.*" %>
<%@ page import="javax.naming.*" %>
<%@ page import="javax.sql.DataSource" %>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>"> <title>My JSP 'MyJsp.jsp' starting page</title> <meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
--> </head>
<%
Context initCtx = new InitialContext();
Context ctx = (Context) initCtx.lookup("java:comp/env");
//获取连接池对象
DataSource ds =(DataSource)ctx.lookup("jdbc/ConnectionPool");
//创建连接
Connection conn = ds.getConnection();
System.out.println("conn="+conn);
Statement stmt = conn.createStatement();
String mysql="select * from notification_tb";
ResultSet myrs=stmt.executeQuery(mysql); //执行查询
%>
<body>
This is my JSP page. <br>
<table>
<%
while(myrs.next())
{
%>
<%
String notiTheme=myrs.getString("notiTheme");
String notiContent=myrs.getString("notiContent");
%>
<tr><td><%=notiTheme %></td><td><%=notiContent %></td></tr>
<%
System.out.println(notiTheme);
System.out.println(notiContent);
%>
<%
}
%>
</table>
</body>
</html>

然后重启TOMCAT,发布网站访问http://localhost:8080/PW_Application/MyJsp.jsp即可看到结果。

Myeclipse WEB工程JSP使用JNDI 数据库连接池连接Mysql数据库的更多相关文章

  1. 解决数据库连接池连接mysql时,每隔8小时mysql自动断开所有连接的问题

    解决数据库连接池连接mysql时,每隔8小时mysql自动断开所有连接的问题 最近有个问题非常讨厌,我们的工程中使用自己的连接池连接mysql数据库,可mysql数据库每隔8小时就会自动断开所有链接, ...

  2. Java使用数据库连接池连接Oracle数据库

    第一步:导入tomcat\lib 下的一个tomcat-dbcp.jar包第二步:在web\META-INF下新建一个context.xml文件,文件内容如下: <?xml version=&q ...

  3. Ubuntu jsp平台使用JDBC来连接MySQL数据库

    Ubuntu 7.04 搭建Ubuntu jsp平台开发环境MySQL+tomcat+apache+j2sdk1.6在所有安装开始前先在Terminal中输入 rpm -q -a查看是否安装过rpm ...

  4. 关于c3p0连接池连接mysql数据库需要注意的几点

    什么是数据库连接池: 用池来管理Connection,这可以重复使用Connection.有了池,所以我们就不用自己来创建Connection,而是通过池来获取Connection对象. 当使用完Co ...

  5. DAO设计模式 -- 使用数据库连接类连接MySql数据库并实现添加用户

    1. DAO简介    DAO设计模式是属于J2EE数据库层的操作,使用DAO设计模式可以简化大量代码,增强程序的可移植性. 2. DAO各部分详解    DAO设计模式包括5个重要的部分,分别为数据 ...

  6. python web开发——django学习(一)第一个连接mysql数据库django网站运行成功

    1.新建一个项目 2.新建一些文件夹方便管理 3.新建一个项目叫message  4.连接数据库 python web开发Django连接mysql 5.在数据库里自动生成django的表  6.运行 ...

  7. python通过数据库连接池实现mysql数据库增删改查

    import pymysql from DBUtils.PooledDB import PooledDB class SQLHandler(object): def __init__(self, ho ...

  8. 连接池连接mysql数据库 这故障在哪?

  9. Jsp中使用数据库连接池.

    原文 Jsp中使用数据库连接池. 1. 在tomcat服务器目录下面的conf中找到一个叫Context.xml的配置文件,在其中加入以下代码 <Resource name="jdbc ...

随机推荐

  1. 20145314郑凯杰 《Java程序设计》实验五 实验报告

    20145314郑凯杰 <Java程序设计>实验五 实验报告 实验搭档王亦徐:http://www.cnblogs.com/1152wyx/p/5471524.html 实验要求 完成实验 ...

  2. redis命令的使用

    批量删除特定前缀的keys redis-cli KEYS "prefix:*" | xargs redis-cli DEL 返回list的长度 > LPUSH test &q ...

  3. mongodb 索引的创建

    mongodb 创建常用的创建索引的有 signle Field Indexes Compound multikey,创建索引就是按照索引字段把documnet 进行排序,索引只存储了document ...

  4. Java GC垃圾回收

    Java的内存分配和回收也主要在Java的堆上进行的,Java的堆中存储了大量的对象实例,所以Java的堆也叫GC堆. Java在垃圾收集的过程中,主要用到了分代收集算法,具体有复制.标记清除.标记压 ...

  5. docker 修改 mysql 5.7 sql_mode

    docker exec -ti {容器ID} /bin/bash   进入容器 apt-get install vim 安装vim 找到 vim /etc/mysql/my.cnf 在 [mysqld ...

  6. TP5接受Vue跨域请求

    <?php /** * Created by PhpStorm. * User: qianglong * Date: 2018/1/15 * Time: 17:56 */ namespace a ...

  7. [小问题笔记(二)] 可能导致DropDownList的SelectedIndexChanged事件不触发的几种情况

    遇到SelectedIndexChanged事件没有触发,可以依次检查以下几种情况是否在程序中出现. 一.DropDownList的不同option设置了相同的value . 二.没有写 AutoPo ...

  8. 08_MySQL DQL_SQL99标准中的多表查询(内连接)

    # sql99语法/*语法: select 查询列表 from 表1 别名 [连接类型] join 表2 别名 on 连接条件 [where 筛选条件] [group by 分组] [having 分 ...

  9. 转 : JBoss Web和 Tomcat的区别

    JBoss Web和 Tomcat的区别 在Web2.0的浪潮中,各种页面技术和框架不断涌现,为服务器端的基础架构提出了更高的稳定性和可扩展性的要求.近年来,作为开源中间件的全 球领导者,JBoss在 ...

  10. Java循环语句之 do...while

    do...while 循环与 while 循环语法有些类似,但执行过程差别比较大. 语法: 执行过程: <1>. 先执行一遍循环操作,然后判断循环条件是否成立 <2>. 如果条 ...