tomcat配置数据源

原创 2013年12月04日 10:01:59

最近想搞清楚什么是“连接池”,在网上查了相关资料,貌似要跟“服务器”中配置,

 

 

1、首先在WebRoot/META-INF目录下面建立一个context.xml配置文件,内容如下

<?xml version="1.0" encoding="UTF-8"?>
<Context>

	<WatchedResource>WEB-INF/web.xml</WatchedResource>

	<Resource 
	name="myoracle" 
	auth="Container" 
	type="javax.sql.DataSource"
	driverClassName="oracle.jdbc.OracleDriver" 
	url="jdbc:oracle:thin:@localhost:1521:orcl"
	username="huangbiao" 
	password="huangbiao" 
	maxActive="200" 
	maxIdle="10" 
	maxWait="5000" />

</Context>

 

2、启动tomcat服务器(如果启动失败,可能原因是没有驱动,需要在tomcat的lib目录下面放驱动包)

 

3、在servlet中得到得到数据源,操作数据库

 

package hb.servlet.dbpool;

import java.io.IOException;
import java.io.PrintWriter;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;

import javax.naming.InitialContext;
import javax.naming.NamingException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.sql.DataSource;

import org.apache.log4j.Logger;

public class ConnectDB extends HttpServlet {

	public static Logger log = Logger.getLogger(ConnectDB.class);
	
	public void doGet(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		this.doPost(request, response);
	}

	public void doPost(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		log.info("发送请求成功");
		try {
			InitialContext ic = new InitialContext();
			DataSource ds = (DataSource)ic.lookup("java:comp/env/myoracle");
			Connection conn = ds.getConnection();
			String sql = "select * from goods where GOODSNAME=?";
			PreparedStatement pre = conn.prepareStatement(sql);
			pre.setString(1, "7001");
			ResultSet rs = pre.executeQuery();
			while(rs.next()){
				 log.info(rs.getString(1));
				 log.info(rs.getString(2));
				 log.info(rs.getInt(3));
				 log.info(rs.getString(4));
				 log.info(rs.getString(5));
			}
			if(rs != null){
				log.info("关闭rs正常");
				rs.close();
			}
			if(pre != null){
				log.info("关闭pre正常");
				pre.close();
			}
			if(conn != null){
				log.info("关闭conn正常");
				conn.close();
			}
			PrintWriter pw = response.getWriter();
			String result = "操作数据库OK";
			pw.write(new String(result.getBytes("utf-8"),"ISO-8859-1"));
			pw.flush();
			
		} catch (NamingException e) {
			log.error("获取连接池异常");
			e.printStackTrace();
		} catch (SQLException e) {
			log.error("操作数据库失败");
			e.printStackTrace();
		}
	}

}

 

 

在这里我有一些不明白的地方:

1、这种方式算是“使用连接池”吗

2、conn.close()这种方式关闭了是断开了数据源吗

请路过的高手指点一二

tomcat配置JNDI数据源

  • 2013年07月24日 09:39
  • 25KB
  • 下载

Tomcat配置JNDI数据源

  • 2017年11月27日 16:32
  • 1.25MB
  • 下载

JavaWeb:Tomcat下配置数据源(JNDI)连接数据库

习惯了以硬编码的形式在程序中建立数据库连接,用完就在finally语句块中close一下就结束了。对于重视数据库连接数的应用来说,这样子做会耗费大量的时间和数据库资源,而且硬编码的形式也不甚灵活。 ...

Tomcat中配置数据源所需得jar包

  • 2010年05月06日 08:18
  • 201KB
  • 下载

tomcat配置oralce数据源.rar

  • 2011年06月02日 00:32
  • 533KB
  • 下载

什么是jndi,什么时候使用jndi,tomcat配置jndi,spring使用jndi数据源

JNDI 是什么 JNDI是 Java 命名与目录接口(Java Naming and Directory Interface),在J2EE规范中是重要的规范之一,不少专家认为,没有透彻理解JN...

tomcat配置jdbc数据源

  • 2012年08月08日 13:30
  • 14KB
  • 下载

J2EE环境搭建(三)配置Tomcat 7.0的局部数据源

配置Tomcat 7.0的局部数据源 1.配置MySQL的JDBC驱动 2.下载安装MySQL 3.建立一个数据库和表 4.部署程序和配置局部数据源...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:tomcat配置数据源
举报原因:
原因补充:

(最多只允许输入30个字)