龙溪营销型网站制作网站建设前台和后台
龙溪营销型网站制作,网站建设前台和后台,保定专门做网站的公司,简述建设一个网站的基本步骤标题#xff1a;Tomcat4/5连接池的设置及简单应用示例关键字#xff1a;Tomcat 连接池 JDBC驱动 Context 作者#xff1a;jrq内容#xff1a;一、Win2k下Tomcat4的连接池的配置1.安装JDK1.4和jakarta-tomcat-4.1.27.exe。 路径分别为 D:/jdk1.4 和 D:/Tomcat 4.1。 安装…标题Tomcat4/5连接池的设置及简单应用示例关键字Tomcat 连接池 JDBC驱动 Context 作者jrq内容一、Win2k下Tomcat4的连接池的配置1.安装JDK1.4和jakarta-tomcat-4.1.27.exe。 路径分别为 D:/jdk1.4 和 D:/Tomcat 4.1。 安装Tomcat 4时会要求填写web访问端口、用户名、密码等信息。 web访问端口默认为8080用户名默认为admin密码自己填写。 启动Tomcat4访问http://127.0.0.1:8080/ 就能看到Apache Tomcat/4.1.27的欢迎访问页面页面上有一些相关介绍信息等。2.设置数据库的驱动 以Oracle的JDBC驱动设置为例 Oracle8i的驱动在/oracle/ora81/jdbc/lib/目录下。名字为classes12.zip。 Oracle9i的驱动在/oracle9i/jdbc/lib/目录下名字为ojdbc14.jar。 将这个文件copy到D:/Tomcat 4.1/common/lib 下。 注意如果使用Oracle8i 的驱动则需要在D:/Tomcat 4.1/common/lib 目录下将classes12.zip更名为classes12.jar因为Tomcat4不认识zip的后缀名。3.设置Web应用。 新建一个文件夹名字为mypool位置为D:/mypool。这个D:/mypool路径将是web应用的主目录。 打开D:/Tomcat 4.1/conf/server.xml 文件找到如下行 !-- Tomcat Root Context -- !-- Context path docBaseROOT debug0/ -- 在这下面加入如下行 Context path/mypool docBaseD:/mypool privilegedtrue reloadabletrue/ 完成后成为这个样子 !-- Tomcat Root Context -- !-- Context path docBaseROOT debug0/ -- Context path/mypool docBaseD:/mypool privilegedtrue reloadabletrue/ 保存D:/Tomcat 4.1/conf/server.xml 文件。 配置完成后重新启动Tomcat就可以这样访问这个web应用了 http://127.0.0.1:8080/mypool/ 。4.设置Tomcat的连接池数据源。 访问 http://127.0.0.1:8080/admin 页面用刚才安装 Tomcat4 时填写的用户名和密码登录。 登录成功后会出现Tomcat 的web应用管理界面Tomcat Web Server Administration Tool。 然后在左边的目录树点击“Data Sources”项右边可以看到JNDI配置的页面。 在右上角的下拉框中选择“Create New Data Source”接下来填写配置信息 JNDI Name: jdbc/myOrcl Data Source URL: jdbc:oracle:thin:192.168.6.40:1521:dbserver JDBC Driver Class: oracle.jdbc.driver.OracleDriver User Name: myname Password: mypassword Max. Active Connections: 可用默认值 Max. Idle Connections: 可用默认值 Max. Wait for Connection: 可用默认值 Validation Query: 可不填写。 然后按下“save”按钮保存。 再按下“Commit Changes”按钮将配置更改提交完成。 此时如果看看 Tomcat4 的窗口会发现在最下面有一行文字提示 Debugging -- changes saved to conf/server.xml 此时 D:/Tomcat 4.1/conf/server.xml 文件的配置已经更改保存完毕。 如果此时打开D:/Tomcat 4.1/conf/server.xml 文件会发现server.xml 文件的内容改变了很多。 一些注释文字都被去掉了。 还会发现上面第三步配置Web应用的如下文字 !-- Tomcat Root Context -- !-- Context path docBaseROOT debug0/ -- Context path/mypool docBaseD:/mypool privilegedtrue reloadabletrue/ 则被自动修改成了这样的 Context classNameorg.apache.catalina.core.StandardContext cachingAllowedtrue charsetMapperClassorg.apache.catalina.util.CharsetMapper cookiestrue crossContextfalse debug0 docBaseD:/mypool mapperClassorg.apache.catalina.core.StandardContextMapper path/mypool privilegedtrue reloadabletrue swallowOutputfalse useNamingtrue wrapperClassorg.apache.catalina.core.StandardWrapper /Context 好了至此位置对Oracle的应用连接池已经配置完毕。 仔细对照server.xml 文件会发现刚才所配置的连接池信息被放置在GlobalNamingResources标签中这意味着这个信息是可以被全局引用的大致是如下的样子 GlobalNamingResources Environment namesimpleValue overridetrue typejava.lang.Integer value30/ Resource namejdbc/myOrcl scopeShareable typejavax.sql.DataSource/ Resource authContainer descriptionUser database that can be updated and saved nameUserDatabase scopeShareable typeorg.apache.catalina.UserDatabase/ ResourceParams namejdbc/myOrcl parameter namemaxWait/name value5000/value /parameter parameter namemaxActive/name value200/value /parameter parameter namepassword/name valuemypassword/value /parameter parameter nameurl/name valuejdbc:oracle:thin:192.168.6.40:1521:dbserver/value /parameter parameter namedriverClassName/name valueoracle.jdbc.driver.OracleDriver/value /parameter parameter namemaxIdle/name value20/value /parameter parameter nameusername/name valuemyname/value /parameter /ResourceParams ResourceParams nameUserDatabase parameter namefactory/name valueorg.apache.catalina.users.MemoryUserDatabaseFactory/value /parameter parameter namepathname/name valueconf/tomcat-users.xml/value /parameter /ResourceParams /GlobalNamingResources 5.设置web应用对连接池的引用。 打开D:/Tomcat 4.1/conf/server.xml 文件找到刚才配置的web应用文字由于刚才server.xml 文件被自动修改过并去掉了很多注释内容所以刚才配置的web应用 Context path/mypool docBaseD:/mypool privilegedtrue reloadabletrue/ 被自动修改成了这样的 Context classNameorg.apache.catalina.core.StandardContext cachingAllowedtrue charsetMapperClassorg.apache.catalina.util.CharsetMapper cookiestrue crossContextfalse debug0 docBaseD:/mypool mapperClassorg.apache.catalina.core.StandardContextMapper path/mypool privilegedtrue reloadabletrue swallowOutputfalse useNamingtrue wrapperClassorg.apache.catalina.core.StandardWrapper /Context 在Context/Context的描述中加上本web应用对全局连接池的引用说明如下文字 ResourceLink globaljdbc/myOrcl namejdbc/myOrcl typejavax.sql.DataSource/ 设置完成后web应用的描述大致如下面的样子 Context classNameorg.apache.catalina.core.StandardContext cachingAllowedtrue charsetMapperClassorg.apache.catalina.util.CharsetMapper cookiestrue crossContextfalse debug0 docBaseD:/mypool mapperClassorg.apache.catalina.core.StandardContextMapper path/mypool privilegedtrue reloadabletrue swallowOutputfalse useNamingtrue wrapperClassorg.apache.catalina.core.StandardWrapper ResourceLink globaljdbc/myOrcl namejdbc/myOrcl typejavax.sql.DataSource/ /Context 保存D:/Tomcat 4.1/conf/server.xml 文件。 注意设置这个连接池的引用说明是非常重要的一步。 一些朋友在Tomcat4中配置连接池失败的原因大都归咎与此。还有网上一些文章说这是一个Tomcat4的一个Bug。 我用了整整两天两夜的时间才明白其中的奥秘。[:(] 当时离疯掉只查一点点。因为毕竟配置一个连接池是很简单的。[:(]6.一般情况下到此连接池的设置就完成了。 然后需要重新启动Tomcat这样就可以使用连接池来工作了。 但是看到很多文章上说还需要设置一下web.xml才能应用。我没有设置web.xml连接池也可以完全使用。 现在说一下web.xml的配置方法。 在D:/mypool中新建文件夹命名为WEB-INF注意是大写的字母。 然后在D:/mypool/WEB-INF/ 下新建文件web.xml其内容为 web-app resource-ref descriptionOracle DataSource example/description res-ref-namejdbc/myOrcl/res-ref-name res-typejavax.sql.DataSource/res-type res-authContainer/res-auth /resource-ref /web-app 保存D:/mypool/WEB-INF/web.xml 文件。7.一个简单的应用示例。 写了一个简单的JSP页面用连接池来访问数据库。内容如下% page contentTypetext/html;charsetGBK%% page importjavax.naming.*%% page importjavax.sql.*%% page importjava.sql.*%% try { Context initCtx new InitialContext(); if(initCtxnull) throw new Exception(没有匹配的环境); Context ctx (Context) initCtx.lookup(java:comp/env); //获取连接池对象 Object obj (Object) ctx.lookup(jdbc/myOrcl); //类型转换 javax.sql.DataSource ds (javax.sql.DataSource)obj; if(dsnull) throw new Exception(没有匹配数据库); Connection conn ds.getConnection(); Statement stmt conn.createStatement(); String strSqlselect * from grade; //SQL要保证grade数据表里面有记录。 ResultSet rsstmt.executeQuery(strSql); if(rs.next()) { out.println(rs.getString(1)); out.println(rs.getString(2)); } rs.close(); //关闭ResultSet stmt.close(); //关闭Statement conn.close(); //将连接放回到连接池 } catch(Exception ex) { ex.printStackTrace(); throw new SQLException(cannot get Connection pool.ex); }%hr 记住用完后的数据库连接要释放。不然当打开的连接过多或恶意刷屏连接池的连接数目会被用完。当连接池的连接数目用完后再访问jsp页面时会在页面出现如下的错误信息报告连接池的连接被耗尽java.sql.SQLException: DBCP could not obtain an idle db connection, pool exhausted二、Win2k下Tomcat5 的连接池的配置安装jakarta-tomcat-5.0.13.exe假如Tomcat5的安装目录为 D:/Tomcat 5.0 。别忘了把oracle的驱动程序classes12.jar文件copy到目录 D:/Tomcat 5.0/common/lib/ 下。Tomcat5的连接池设置和Tomcat4 的差不多仅说明一下不同点或需要特别注意的地方。1. Tomcat5启动后访问 http://127.0.0.1:8080/admin 页面当设置完Tomcat的连接池数据源后打开D:/Tomcat 5.0/conf/server.xml 文件会看到配置的连接池相关信息大致如下样子GlobalNamingResources Environment namesimpleValue typejava.lang.Integer value30/ Resource namejdbc/myOrcl typejavax.sql.DataSource/ Resource authContainer descriptionUser database that can be updated and saved nameUserDatabase typeorg.apache.catalina.UserDatabase/ ResourceParams namejdbc/myOrcl parameter namemaxWait/name value5000/value /parameter parameter namemaxActive/name value4/value /parameter parameter namepassword/name valuemypassword/value /parameter parameter nameurl/name valuejdbc:oracle:thin:127.0.0.1:1521:dbserver/value /parameter parameter namedriverClassName/name valueoracle.jdbc.driver.OracleDriver/value /parameter parameter namemaxIdle/name value2/value /parameter parameter nameusername/name valuemyusername/value /parameter /ResourceParams ResourceParams nameUserDatabase parameter namefactory/name valueorg.apache.catalina.users.MemoryUserDatabaseFactory/value /parameter parameter namepathname/name valueconf/tomcat-users.xml/value /parameter /ResourceParams /GlobalNamingResources可以看到一些连接池的信息配置参数已经和Tomcat4不同了。但大致配置步骤和方法都是一样的。2.设置web应用对连接池的引用。 打开D:/Tomcat 5.0/conf/Catalina/localhost/ 目录找到和web应用同名的xml文件mypool.xml打开这个文件修该其Context/Context的描述信息添加如下行 ResourceLink globaljdbc/myOrcl namejdbc/myOrcl typejavax.sql.DataSource/ 使mypool.xml文件的内容看起来大致这个 Context docBaseD:/mypool path/mypool privilegedtrue reloadabletrue ResourceLink globaljdbc/myOrcl namejdbc/myOrcl typejavax.sql.DataSource/ /Context然后保存mypool.xml需要重新Tomcat5服务使之生效。3.JSP页面测试文件的写法也是一样的不再赘述。4.一些补充 如果web应用没有配置对连接池的引用即没有配置ResourceLink则会在访问jsp页面时出现如下错误 NameNotFoundException: Name jdbc is not bound in this Context 如果缺少Oracle的JDBC驱动则会在访问jsp页面时出现如下错误 java.sql.SQLException: Cannot load JDBC driver class oracle.jdbc.driver.OracleDriver by jrq 2004年10月26日夜 于石市 转载于:https://www.cnblogs.com/java0819/archive/2004/10/29/2146295.html
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/88313.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!