文档章节

JSP复习笔记——第10章 连接数据库 之 使用数据源

暗之幻影
 暗之幻影
发布于 2014/12/18 09:38
字数 428
阅读 13
收藏 0


JDBC基本操作过程:
 打开数据库连接
 操作数据库
 关闭数据库


为了解决不必要的资源,使用数据源来减少数据库打开和关闭的操作
1、 通过Connection Pool 管理数据库连接
2、 通过DataSource去管理Connection Pool
3、 DataSource被JNDI Tree绑定

改如何在服务器上对DataSource进行配置
服务器:Tomcat5.x

<Context path="/test" docBase="f:\testweb\"
		debug="5" reloadable="true" crossContext="true">
 
	 <Logger className="org.apache.catalina.logger.FileLogger"
				 prefix="localhost_MysqlTest_log." suffix=".txt"
				 timestamp="true"/>
				 
	<Resource name="名字"  auth="Container" type="javax.sql.DataSource"/>
	
	<ResourceParams name="名字">
		<parameter>
			<name>factory</name>
			<value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
		</parameter>
		<parameter>
			<name>maxActive</name> // 最大连接数
			<value>100</value>
		</parameter>
		<parameter>
			<name>maxIdle</name> // 最大维持数
			<value>30</value>
		</parameter>
		<parameter>
			<name>maxWait</name> // 最大等待时间
			<value>5000</value>
		</parameter>
		<parameter>
			<name>username</name>
			<value>用户名</value>
		</parameter>
		<parameter>
			<name>password</name>
			<value>密码</value>
		</parameter>
		<parameter>
			<name>driverClassName</name>
			<value>驱动程序</value>
		</parameter>
		<parameter>
			<name>url</name>
			<value>连接地址</value>
		</parameter>
	  </ResourceParams>
	</Context>
<Context path="/test" docBase="f:\testweb\"
		debug="5" reloadable="true" crossContext="true">
 
<Logger className="org.apache.catalina.logger.FileLogger"
		prefix="localhost_MysqlTest_log." suffix=".txt"
	        timestamp="true"/>
				 
<Resource name="jdbc/sky"  auth="Container" type="javax.sql.DataSource"/>
	
<ResourceParams name="jdbc/sky">
		<parameter>
			<name>factory</name>
			<value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
		</parameter>
		<parameter>
			<name>maxActive</name>
			<value>100</value>
		</parameter>
		<parameter>
			<name>maxIdle</name>
			<value>30</value>
		</parameter>
		<parameter>
			<name>maxWait</name>
			<value>5000</value>
		</parameter>
		<parameter>
			<name>username</name>
			<value>scott</value>
		</parameter>
		<parameter>
			<name>password</name>
			<value>darkness</value>
		</parameter>
		<parameter>
			<name>driverClassName</name>
			<value>oracle.jdbc.driver.OracleDriver</value>
		</parameter>
		<parameter>
			<name>url</name>
			<value>jdbc:oracle:thin:@localhost:1521:sky</value>
		</parameter>
</ResourceParams>
</Context>


配置完成需要通过名称查找的方式,找到数据源

<%@ page import="java.sql.*"%>
<%@ page import="javax.sql.*"%>
<%@ page import="javax.naming.*"%>
<%!
	final String JNDINAME = "java:comp/env/jdbc/sky" ;
%>
<%
	Connection conn = null ;
	try {
		// 初始化查找命名空间
		Context ctx = new InitialContext() ;
		// 找到DataSource
		DataSource ds = (DataSource)ctx.lookup(JNDINAME) ;
		conn = ds.getConnection() ;
	} catch(Exception e) {
		System.out.println(e) ;
	}
%>
<%=conn%>
<%
	// 将连接重新放回到池中
	conn.close() ;
%>


© 著作权归作者所有

暗之幻影
粉丝 20
博文 377
码字总数 71245
作品 0
南京
高级程序员
私信 提问
[读书笔记]《Servlet与JSP核心编程(第2版)》——001

第1章 Servlet和JSP技术概述 1.1 servlet的功用 servlet是运行在Web服务器或应用服务器上的Java程序,它是一个中间层,负责连接来自Web浏览器或其他HTTP客户程序的请求和HTTP服务器上的数据库...

leeoo
2011/12/24
70
0
JavaWeb22-HTML篇笔记

第22章WEB22-网上商城实战篇 今日任务 Ø 完成后台的功能模块 1.1 网上商城的后台功能的实现:1.1.1 后台的功能的需求: 1.1.1.1 分类管理: 【查询所有分类】 在左侧菜单页面中点击分类管理: 提...

我是小谷粒
2018/06/08
0
0
activemq in action学习笔记

JMS基本概念 JMS 是 SUN 公司开发的一套访问 MOM(Message-Oriented-Middleware) 消息服务中间件的标准 API。 MOM 提供消息接收和转发的服务,对消息进行缓存和持久操作,保证消息的安全性,JMS让...

dyzhou
2015/08/24
1K
1
将J2EE程序从weblogic移植到JBoss上

前几天将一个原来的项目从weblogic上移植到了JBoss上,于是就将移植中出现的问题以及需要完成的工作记录了下来,以供大家参考。 1、上下文(Context)的获得方式不同,下面分别是两者获得上下...

大_于
2014/05/28
727
0
JSP复习笔记——第11章 JSP 构架和MVC设计模式

11.1 JSP Model I 体系结构 11.2 JSP Model II 体系结构/MVC设计模式 11.3 使用MVC设计模式改写用户注册程序 11.3.1 使用serlvet实现Controller层 11.3.2 使用jsp实现表示层 11.3.3 使用Jav...

暗之幻影
2014/12/18
75
0

没有更多内容

加载失败,请刷新页面

加载更多

代理模式之JDK动态代理 — “JDK Dynamic Proxy“

动态代理的原理是什么? 所谓的动态代理,他是一个代理机制,代理机制可以看作是对调用目标的一个包装,这样我们对目标代码的调用不是直接发生的,而是通过代理完成,通过代理可以有效的让调...

code-ortaerc
今天
5
0
学习记录(day05-标签操作、属性绑定、语句控制、数据绑定、事件绑定、案例用户登录)

[TOC] 1.1.1标签操作v-text&v-html v-text:会把data中绑定的数据值原样输出。 v-html:会把data中值输出,且会自动解析html代码 <!--可以将指定的内容显示到标签体中--><标签 v-text=""></......

庭前云落
今天
8
0
VMware vSphere的两种RDM磁盘

在VMware vSphere vCenter中创建虚拟机时,可以添加一种叫RDM的磁盘。 RDM - Raw Device Mapping,原始设备映射,那么,RDM磁盘是不是就可以称作为“原始设备映射磁盘”呢?这也是一种可以热...

大别阿郎
今天
12
0
【AngularJS学习笔记】02 小杂烩及学习总结

本文转载于:专业的前端网站☞【AngularJS学习笔记】02 小杂烩及学习总结 表格示例 <div ng-app="myApp" ng-controller="customersCtrl"> <table> <tr ng-repeat="x in names | orderBy ......

前端老手
昨天
16
0
Linux 内核的五大创新

在科技行业,创新这个词几乎和革命一样到处泛滥,所以很难将那些夸张的东西与真正令人振奋的东西区分开来。Linux内核被称为创新,但它又被称为现代计算中最大的奇迹,一个微观世界中的庞然大...

阮鹏
昨天
20
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部