JAVA网页编程之JDBC Connection Pool
用winrar打包j2ee的程序和用IDE打包应用程序是一样的。按照你的想法,你是不是也希望服务器都整合由一家公司提供呢?connection数据库毗连池简介在传统的两层布局中,客户端程序在启动时翻开数据库毗连,在加入程序时封闭数据库毗连。如许,在全部程序运转中,每一个客户端一直占用一个数据库毗连,即便在大批没无数据库操纵的余暇工夫,如用户输出数据时,从而形成数据库毗连的利用效力低下。
在三层布局形式中,数据库毗连经由过程两头层的毗连池办理。只要当用户真正必要举行数据库操纵时,两头层才从毗连池请求一个毗连,数据库操纵终了,毗连当即开释到毗连池中,以供其他用户利用。如许,不但年夜年夜进步了数据库毗连的利用效力,使得大批用户能够共享较少的数据库毗连,并且省往了创建毗连的工夫。
毗连池的设置利用
数据库毗连池是使用服务器的一项基础功效,我们以ApusicApplicationServer为例,来讲明JDBC毗连池的设置利用。
ApusicJDBC毗连池供应对多种数据库的撑持,如Oracle、MSSqlServer、Sybase、Informix、DB2等。
ApusicJDBC毗连池能够经由过程数据库自己的JDBCDriver毗连到数据库,也能够经由过程JDBC-ODBC桥毗连到数据库。上面我们以Oracle为例申明怎样设置毗连池:
Oracle数据库的JDBCDriver包文件classes111.zip在/usr/oracle/jdbc/lib(假定oracle的安装目次是/usr/oracle)目次下,起首将classes111.zip到场到体系的CLASSPATH中。然后在apusic/config/apusic.conf(假定安装目次为apusic)中作以下设置:
<SERVICE
CLASS="com.apusic.jdbc.PoolManager"
NAME="JdbcPool:name=jdbc/sample"
>
<ATTRIBUTENAME="ExpirationTime"VALUE="300"/>
<ATTRIBUTENAME="MinCapacity"VALUE="5"/>
<ATTRIBUTENAME="URL"VALUE="jdbc:oracle:thin:@192.168.19.136:1521:orcl"/>
<ATTRIBUTENAME="ConnectionProperties"VALUE="user=gtj,password=abc123"/>
<ATTRIBUTENAME="DriverClassName"VALUE="oracle.jdbc.driver.OracleDriver"/>
<ATTRIBUTENAME="MaxCapacity"VALUE="30"/>
</SERVICE>
ExpirationTime:超不时间,单元是秒。当一个数据库毗连凌驾expirationTime设准时间不被利用
时,体系会主动封闭这个数据库毗连。默许值为300秒
MinCapacity:最小毗连数
URL:数据库的URL
ConnectionProperties:毗连属性,个中:user用户名,password暗码
DriverClassName:JDBC驱动程序类名
MaxCapacity:最年夜毗连数
192.168.19.136:oracle地点盘算机的IP地点。
挪用毗连池
我们以一个JSP程序为例,申明怎样利用毗连池。起首经由过程JNDI失掉DataSource,再的失掉毗连Connection,以下例所示:
<html>
<head>
<title>Jspsample</title>
</head>
<body>
<p>
<%@pagecontentType="text/html;charset=gb2312"%>
<%@pageimport="
java.sql.*,
javax.naming.*,
javax.sql.*
"%>
<%
try{
Contextctx=newInitialContext();
DataSourceds=(DataSource)ctx.lookup("jdbc/sample");
Connectioncon=ds.getConnection();
Statementstmt=con.createStatement();
ResultSetrs=stmt.executeQuery("selectENAMEfromEMP");
while(rs.next()){
out.println("<p>"+rs.getString(1));
}
rs.close();
stmt.close();
}catch(Exceptione){
System.out.println("jsp:"+e.getMessage());
}finally{
try{
con.close();
}catch(Exceptione1){}
}
%>
</body>
</html>
唉!都是钱闹的1.Swing和.net开发比较------从市场份额看.net开发主要占据大部分的中小型和中型的的桌面开发,原因是它封装了很多工具 所以现在应用最广泛又最好学的就是J2EE了。 J2EE又包括许多组件,如Jsp,Servlet,JavaBean,EJB,JDBC,JavaMail等。要学习起来可不是一两天的事。那么又该如何学习J2EE呢?当然Java语法得先看一看的,I/O包,Util包,Lang包你都熟悉了吗?然后再从JSP学起。 Jive的资料在很多网站上都有,大家可以找来研究一下。相信你读完代码后,会有脱胎换骨的感觉。遗憾的是Jive从2.5以后就不再无条件的开放源代码,同时有licence限制。不过幸好还有中国一流的Java程序员关注它,外国人不开源了,中国人就不能开源吗?这里向大家推荐一个汉化的Jive版本—J道。Jive(J道版)是由中国Java界大名 鼎鼎的banq在Jive 2.1版本基础上改编而成, 全中文,增加了一些实用功能,如贴图,用户头像和用户资料查询等,而且有一个开发团队在不断升级。你可以访问banq的网站 Java 不同于一般的编译执行计算机语言和解释执行计算机语言。它首先将源代码编译成二进制字节码(bytecode),然后依赖各种不同平台上的虚拟机来解释执行字节码。从而实现了“一次编译、到处执行”的跨平台特性。 《JAVA语言程序设计》或《JAVA从入门到精通》这两本书开始学,等你编程有感觉的时候也可以回看一下。《JAVA读书笔记》这本书,因为讲的代码很多,也很容易看懂,涉及到面也到位。是你学习技术巩固的好书,学完后就看看《JAVA编程思想》这本书,找找一个自己写的代码跟书上的代码有什么不一样。 你一定会高兴地说,哈哈,原来成为Java高手就这么简单啊!记得Tomjava也曾碰到过一个项目经理,号称Java很简单,只要三个月就可以学会。 一直感觉JAVA很大,很杂,找不到学习方向,前两天在网上找到了这篇文章,感觉不错,给没有方向的我指了一个方向,先不管对不对,做下来再说。 J2SE开发桌面应用软件比起 VC,VB,DEPHI这些传统开发语言来说,优势好象并不明显。J2ME对于初学者来说,好象又有点深奥,而且一般开发者很难有开发环境。 是一种由美国SUN计算机公司(Sun Microsystems, Inc.)所研究而成的语言 一直感觉JAVA很大,很杂,找不到学习方向,前两天在网上找到了这篇文章,感觉不错,给没有方向的我指了一个方向,先不管对不对,做下来再说。 《JAVA语言程序设计》或《JAVA从入门到精通》这两本书开始学,等你编程有感觉的时候也可以回看一下。《JAVA读书笔记》这本书,因为讲的代码很多,也很容易看懂,涉及到面也到位。是你学习技术巩固的好书,学完后就看看《JAVA编程思想》这本书,找找一个自己写的代码跟书上的代码有什么不一样。 是一种将安全性(Security)列为第一优先考虑的语言 是一种由美国SUN计算机公司(Sun Microsystems, Inc.)所研究而成的语言 是一种为 Internet发展的计算机语言 是一种使网页(Web Page)由静态(Static)转变为动态(Dynamic)的语言 是一种使网页(Web Page)产生生动活泼画面的语言 当然你也可以参加一些开源项目,一方面可以提高自己,另一方面也是为中国软件事业做贡献嘛!开发者在互联网上用CVS合作开发,用QQ,MSN,E-mail讨论联系,天南海北的程序员分散在各地却同时开发同一个软件,是不是很有意思呢? Java语言支持Internet应用的开发,在基本的Java应用编程接口中有一个网络应用编程接口(java net),它提供了用于网络应用编程的类库,包括URL、URLConnection、Socket、ServerSocket等。Java的RMI(远程方法激活)机制也是开发分布式应用的重要手段。 任职于太阳微系统的詹姆斯·高斯林等人于1990年代初开发Java语言的雏形,最初被命名为Oak,目标设置在家用电器等小型系统的程序语言 是一种语言,用以产生「小应用程序(Applet(s))
页:
[1]