锘??xml version="1.0" encoding="utf-8" standalone="yes"?>亚洲av无码无在线观看红杏,亚洲AV无码之国产精品,亚洲a视频在线观看http://www.tkk7.com/yczz/category/11243.htmlzh-cnWed, 28 Feb 2007 03:14:38 GMTWed, 28 Feb 2007 03:14:38 GMT60JSP涓枃瑙e喅鏂規硶 http://www.tkk7.com/yczz/articles/47178.html椋為笩椋為笩Sat, 20 May 2006 07:52:00 GMThttp://www.tkk7.com/yczz/articles/47178.htmlhttp://www.tkk7.com/yczz/comments/47178.htmlhttp://www.tkk7.com/yczz/articles/47178.html#Feedback0http://www.tkk7.com/yczz/comments/commentRss/47178.htmlhttp://www.tkk7.com/yczz/services/trackbacks/47178.html聽 聽
聽 涓銆乀omcat鏈韓鐨凣et涓嶱ost涓枃澶勭悊鏂規硶聽聽聽聽聽聽聽
聽 1銆佷粠webapps\jsp-examples\WEB-INF\classes\涓嬫嫹璐漟ilters鐩綍鍒癥ourAPP鐨刢lasses鐩綍涓?聽
聽 2銆佽緗甌omcat鐨凷erver.xml閰嶇疆鏂囦歡鍦?lt;Connector涓鍔燯RIEncoding="GBK"鎴愬涓?聽
聽 聽 聽 聽 聽 <Connector 聽 port="8080" 聽 maxThreads="150" 聽 minSpareThreads="25" 聽 maxSpareThreads="75" 聽
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 enableLookups="false" 聽 redirectPort="8443" 聽 acceptCount="100" 聽
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 debug="0" 聽 connectionTimeout="20000" 聽 聽
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 disableUploadTimeout="true" 聽
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 URIEncoding="GBK"/> 聽
聽 3銆佸湪搴旂敤紼嬪簭鐨勯厤緗枃浠秝eb.xml涓?lt;web-app>澧炲姞 聽
聽 聽 聽 聽 聽 <filter> 聽
聽 聽 聽 聽 聽 聽 聽 聽 聽 <filter-name>Set 聽 Character 聽 Encoding</filter-name> 聽
聽 聽 聽 聽 聽 聽 聽 聽 聽 <filter-class>filters.SetCharacterEncodingFilter</filter-class> 聽
聽 聽 聽 聽 聽 聽 聽 聽 聽 <init-param> 聽
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 <param-name>encoding</param-name> 聽
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 <param-value>GBK</param-value> 聽
聽 聽 聽 聽 聽 聽 聽 聽 聽 </init-param> 聽
聽 聽 聽 聽 聽 </filter> 聽
聽 聽 聽 聽 聽 聽
聽 聽 聽 聽 聽 <filter-mapping> 聽
聽 聽 聽 聽 聽 聽 聽 聽 聽 <filter-name>Set 聽 Character 聽 Encoding</filter-name> 聽
聽 聽 聽 聽 聽 聽 聽 聽 聽 <url-pattern>/*</url-pattern> 聽
聽 聽 聽 聽 聽 </filter-mapping> 聽
聽 聽
聽 浜屻佷唬鐮佷慨鏀?聽
聽 1銆丣SP鏂囦歡鐨勪慨鏀?聽
聽 鍦ㄩ鍙ュ姞涓婏細 聽
聽 <%@ 聽 page 聽 contentType="text/html;charset=GBK"%> 聽
聽 浠ユ樉紺轟腑鏂?聽
聽 聽
聽 2銆乶ew 聽 String((request.getParameter("caseData")).getBytes("ISO-8859-1"),"GBK"); 聽
聽 聽
聽 JDBC婧愶細 聽
聽 jdbc:mysql://localhost/Test?autoReconnect=true&amp;useUnicode=true&amp;characterEncoding=GB2312


椋為笩 2006-05-20 15:52 鍙戣〃璇勮
]]>
閰嶇疆Tomcat鐨勮繛鎺ユ睜http://www.tkk7.com/yczz/articles/46791.html椋為笩椋為笩Thu, 18 May 2006 05:45:00 GMThttp://www.tkk7.com/yczz/articles/46791.htmlhttp://www.tkk7.com/yczz/comments/46791.htmlhttp://www.tkk7.com/yczz/articles/46791.html#Feedback0http://www.tkk7.com/yczz/comments/commentRss/46791.htmlhttp://www.tkk7.com/yczz/services/trackbacks/46791.htmlTomcat聽4.1.29鏄洰鍓嶇殑鏈楂樼ǔ瀹氱増鏈紝涓嬮潰浠嬬粛涓涓嬪畠鐨勮繛鎺ユ睜閰嶇疆鏂規硶銆?br />1)聽聽聽聽榪炴帴姹犻厤緗?Database聽Connection聽Pool聽(DBCP)聽Configurations)
DBCP浣跨敤鐨勬槸Jakarta-Commons聽Database聽Connection聽Pool聽瑕佷嬌鐢ㄨ繛鎺ユ睜闇瑕佸涓嬬殑緇勪歡鍗砵ar鏂囦歡銆?br />Jakarta-Commons聽DBCP聽1.1聽瀵瑰簲commons-dbcp-1.1.jar銆?br />Jakarta-Commons聽Collections聽2.0聽瀵瑰簲commons-collections.jar銆?br />Jakarta-Commons聽Pool聽1.1聽瀵瑰簲commons-pool-1.1.jar銆?br />榪欎笁涓猨ar鏂囦歡瑕佷笌浣犵殑JDBC椹卞姩紼嬪簭涓璧鋒斁鍒般怲OMCAT_HOME銆慭common\lib鐩綍涓嬩互渚胯tomcat鍜屼綘鐨剋eb搴旂敤閮借兘澶熸壘鍒般?br />娉細榪欎笁涓猨ar鏂囦歡鏄粯璁ゅ瓨鍦ㄤ笌銆怲OMCAT_HOME銆慭common\lib涓嬬殑銆?br />闇瑕佹敞鎰忕殑鍦版柟錛氱涓夋柟鐨勯┍鍔ㄧ▼搴忔垨鑰呭叾浠栫被鍙兘浠?.jar鐨勫艦寮忔斁鍒癟omcat鐨刢ommon\lib鐩綍涓?鍥犱負Tomcat鍙妸*.jar鏂囦歡鍔犲埌CLASSPATH涓?br />涓嶈鎶婁笂璇変笁涓枃浠舵斁鍒癢EB-INF/lib鎴栬呭叾浠栧湴鏂瑰洜涓鴻繖鏍蜂細寮曡搗娣鋒穯銆?br />
2)聽聽聽聽閫氳繃閰嶇疆闃繪榪炴帴姹犳紡媧?br />鏁版嵁搴撹繛鎺ユ睜鍒涘緩鍜岀鐞嗚繛鎺ユ睜涓緩绔嬪ソ鐨勬暟鎹簱榪炴帴錛屽驚鐜嬌鐢ㄨ繖浜涜繛鎺ヤ互寰楀埌鏇村ソ鐨勬晥鐜囥傝繖鏍鋒瘮濮嬬粓涓轟竴涓敤鎴蜂繚鎸佷竴涓繛鎺ュ拰涓虹敤鎴風殑璇鋒眰棰戠箒鐨勫緩绔嬪拰閿姣佹暟鎹簱榪炴帴瑕侀珮鏁堢殑澶氥?br />榪欐牱灝辨湁涓涓棶棰樺嚭鐜頒簡錛屼竴涓猈eb搴旂敤紼嬪簭蹇呴』鏄劇ず鐨勯噴鏀綬esultSet錛孲tatement鍜孋onnection銆傚鏋滃湪鍏抽棴榪欎簺璧勬簮鐨勮繃紼嬩腑澶辮觸灝嗗鑷磋繖浜涜祫婧愭案榪滀笉鍦ㄥ彲鐢紝榪欏氨鏄墍璋撶殑榪炴帴姹犳紡媧炪傝繖涓紡媧炴渶緇堜細瀵艱嚧榪炴帴姹犱腑鎵鏈夌殑榪炴帴涓嶅彲鐢ㄣ?br />閫氳繃閰嶇疆Jakarta聽Common聽DBCP鍙互璺熻釜鍜屾仮澶嶉偅浜涜閬楀純鐨勬暟鎹簱榪炴帴銆?br />浠ヤ笅鏄竴緋誨垪鐩稿叧閰嶇疆錛?br />飪悸犅犅犅犻氳繃閰嶇疆DBCP鏁版嵁婧愪腑鐨勫弬鏁皉emoveAbandoned鏉ヤ繚璇佸垹闄よ閬楀純鐨勮繛鎺ヤ嬌鍏跺彲浠ヨ閲嶆柊鍒╃敤銆?br />涓篟esourceParams(瑙佷笅鏂囩殑鏁版嵁婧愰厤緗?鏍囩娣誨姞鍙傛暟removeAbandoned
<parameter>
<name>removeAbandoned</name>
<value>true</value>
</parameter>
閫氳繃榪欐牱閰嶇疆鐨勪互鍚庡綋榪炴帴姹犱腑鐨勬湁鏁堣繛鎺ユ帴榪戠敤瀹屾椂DBCP灝嗚瘯鍥炬仮澶嶅拰閲嶇敤琚仐寮冪殑榪炴帴銆傝繖涓弬鏁扮殑鍊奸粯璁ゆ槸false銆?br />飪悸犅犅犅犻氳繃璁劇疆removeAbandonedTimeout鏉ヨ緗閬楀純鐨勮繛鎺ョ殑瓚呮椂鐨勬椂闂達紝鍗沖綋涓涓繛鎺ヨ繛鎺ヨ閬楀純鐨勬椂闂磋秴榪囪緗殑鏃墮棿鏃墮偅涔堝畠浼氳嚜鍔ㄨ漿鎹㈡垚鍙埄鐢ㄧ殑榪炴帴銆?br />聽聽聽聽<parameter>
聽聽聽聽聽<name>removeAbandonedTimeout</name>
聽聽聽聽聽<value>60</value>
聽聽聽聽聽</parameter>
聽聽聽聽榛樿鐨勮秴鏃舵椂闂存槸300縐掋?br />飪悸犅犅犅犺緗甽ogAbandoned鍙傛暟錛岃繖涓弬鏁扮殑鐢ㄥ鎴戞病鑳藉鐞嗚В瀹冪殑鎰忎箟鎵浠ユ彁渚涘師鏂囦緵澶у鍙傝冦?br />The聽logAbandoned聽parameter聽can聽be聽set聽to聽true聽if聽you聽want聽DBCP聽to聽log聽a聽stack聽trace聽of聽the聽code聽which聽abandoned聽the聽dB聽connection聽resources銆?br /><parameter>
<name>logAbandoned</name>
<value>true</value>
</parameter>
榪欎釜鍙傛暟榛樿涓篺alse銆?br />
3)聽聽聽聽涓嬮潰浠ySQL涓轟緥婕旂ずTomcat鏁版嵁搴撹繛鎺ユ睜鐨勯厤緗?br />飪悸犅犅犅燤ySQL鐨勭増鏈互鍙婂搴旂殑JDBC椹卞姩紼嬪簭
MySQL聽3.23.47,聽MySQL聽3.23.47聽using聽InnoDB,聽MySQL聽4.0.1alpha瀵瑰簲鐨勯┍鍔ㄤ負mm.mysql聽2.0.14聽(JDBC聽Driver)銆?br />飪悸犅犅犅犲湪MySQL涓垱寤轟緵嫻嬭瘯鐨勬暟鎹簱錛岃〃緇撴瀯浠ュ強鏁版嵁
mysql>聽create聽database聽javatest;
mysql>聽use聽javatest;
mysql>聽create聽table聽testdata聽(
聽聽聽聽->聽聽聽id聽int聽not聽null聽auto_increment聽primary聽key,
聽聽聽聽->聽聽聽foo聽varchar(25),聽
聽聽聽聽->聽聽聽bar聽int);
聽聽聽聽mysql>聽insert聽into聽testdata聽values(null,聽'hello',聽12345);
Query聽OK,聽1聽row聽affected聽(0.00聽sec)

mysql>聽select聽*聽from聽testdata;
+----+-------+-------+
|聽ID聽|聽FOO聽聽聽|聽BAR聽聽聽|
+----+-------+-------+
|聽聽1聽|聽hello聽|聽12345聽|
+----+-------+-------+
1聽row聽in聽set聽(0.00聽sec)


聽聽聽聽瑕佹敞鎰忕殑鏄櫥褰曠殑mysql鐢ㄦ埛瑕佹湁鍒涘緩鏁版嵁搴撶殑鏉冮檺榪樻湁娉ㄦ剰瑕佽緗瘑鐮佹垜鐢ㄧ殑鏄痳oot^_^銆?br />飪悸犅犅犅犻厤緗甌omcat鐨剆erver.xml鏂囦歡
閰嶇疆銆怲OMCAT_HOME銆慭common\lib涓嬬殑server.xml鏂囦歡錛屽湪</host>鏍囩涔嬪墠鍔犲叆浠ヤ笅鍐呭浠ユ坊鍔燡NDI鏁版嵁婧愶細
<Context聽path="/DBTest"聽docBase="DBTest"
聽聽聽聽聽聽聽聽debug="5"聽reloadable="true"聽crossContext="true">
聽聽<Logger聽className="org.apache.catalina.logger.FileLogger"
聽聽聽聽聽聽聽聽聽聽聽聽聽prefix="localhost_DBTest_log."聽suffix=".txt"
聽聽聽聽聽聽聽聽聽聽聽聽聽timestamp="true"/>
聽聽<Resource聽name="jdbc/TestDB"
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽auth="Container"
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽type="javax.sql.DataSource"/>
聽聽<ResourceParams聽name="jdbc/TestDB">
聽聽聽聽<parameter>
聽聽聽聽聽聽<name>factory</name>
聽聽聽聽<value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
聽聽聽聽</parameter>
聽聽聽聽<!--聽Maximum聽number聽of聽dB聽connections聽in聽pool.聽Make聽sure聽you
聽聽聽聽聽聽聽聽聽configure聽your聽mysqld聽max_connections聽large聽enough聽to聽handle
聽聽聽聽聽聽聽聽聽all聽of聽your聽db聽connections.聽Set聽to聽0聽for聽no聽limit.
聽聽聽聽聽聽聽聽聽-->
聽聽聽聽<parameter>
聽聽聽聽聽聽<name>maxActive</name>
聽聽聽聽聽聽<value>100</value>
聽聽聽聽</parameter>
聽聽聽聽<!--聽Maximum聽number聽of聽idle聽dB聽connections聽to聽retain聽in聽pool.
聽聽聽聽聽聽聽聽聽Set聽to聽0聽for聽no聽limit.
聽聽聽聽聽聽聽聽聽-->
聽聽聽聽<parameter>
聽聽聽聽聽聽<name>maxIdle</name>
聽聽聽聽聽聽<value>30</value>
聽聽聽聽</parameter>
聽聽聽聽<!--聽Maximum聽time聽to聽wait聽for聽a聽dB聽connection聽to聽become聽available
聽聽聽聽聽聽聽聽聽in聽ms,聽in聽this聽example聽10聽seconds.聽An聽Exception聽is聽thrown聽if
聽聽聽聽聽聽聽聽聽this聽timeout聽is聽exceeded.聽聽Set聽to聽-1聽to聽wait聽indefinitely.
聽聽聽聽聽聽聽聽聽-->
聽聽聽聽<parameter>
聽聽聽聽聽聽<name>maxWait</name>
聽聽聽聽聽聽<value>10000</value>
聽聽聽聽</parameter>
聽聽聽聽<!--聽MySQL聽dB聽username聽and聽password聽for聽dB聽connections聽聽-->
聽聽聽聽<parameter>
聽聽聽聽聽<name>username</name>
聽聽聽聽聽<value>javauser</value>
聽聽聽聽</parameter>
聽聽聽聽<parameter>
聽聽聽聽聽<name>password</name>
聽聽聽聽聽<value>javadude</value>
聽聽聽聽</parameter>
聽聽聽聽<!--聽Class聽name聽for聽mm.mysql聽JDBC聽driver聽-->
聽聽聽聽<parameter>
聽聽聽聽聽聽聽<name>driverClassName</name>
聽聽聽聽聽聽聽<value>org.gjt.mm.mysql.Driver</value>
聽聽聽聽</parameter>
聽聽聽聽<!--聽The聽JDBC聽connection聽url聽for聽connecting聽to聽your聽MySQL聽dB.
聽聽聽聽聽聽聽聽聽The聽autoReconnect=true聽argument聽to聽the聽url聽makes聽sure聽that聽the
聽聽聽聽聽聽聽聽聽mm.mysql聽JDBC聽Driver聽will聽automatically聽reconnect聽if聽mysqld聽closed聽the
聽聽聽聽聽聽聽聽聽connection.聽聽mysqld聽by聽default聽closes聽idle聽connections聽after聽8聽hours.
聽聽聽聽聽聽聽聽聽-->
聽聽聽聽<parameter>
聽聽聽聽聽聽<name>url</name>聽<value>jdbc:mysql://localhost:3306/javatest?autoReconnect=true</value>
聽聽聽聽</parameter>
聽聽</ResourceParams>
</Context>
飪悸犅犅犅犻厤緗甒eb搴旂敤紼嬪簭鐨剋eb.xml鏂囦歡
<?xml聽version="1.0"聽encoding="ISO-8859-1"?>
聽聽聽聽<!DOCTYPE聽web-app聽PUBLIC
聽聽聽聽"-//Sun聽Microsystems,聽Inc.//DTD聽Web聽Application聽2.3//EN"
聽聽聽聽"http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app>
聽聽<description>MySQL聽Test聽App</description>
聽聽<resource-ref>
聽聽聽聽聽聽<description>DB聽Connection</description>
聽聽聽聽聽聽<res-ref-name>jdbc/TestDB</res-ref-name>
聽聽聽聽聽聽<res-type>javax.sql.DataSource</res-type>
聽聽聽聽聽聽<res-auth>Container</res-auth>
聽聽</resource-ref>
</web-app>

飪悸犅犅犅犳祴璇曚唬鐮?br />嫻嬭瘯浠g爜鍖呮嫭涓涓狫SP鏂囦歡鍜屼竴涓狫ava綾匯備唬鐮佸涓嬶細
  1. <html>
  2. 聽聽<head>
  3. 聽聽聽聽<title>DB聽Test</title>
  4. 聽聽</head>
  5. 聽聽<body>
  6. 聽聽<%
  7. 聽聽聽聽foo.DBTest聽tst聽=聽new聽foo.DBTest();
  8. 聽聽聽聽tst.init();
  9. 聽聽%>
  10. 聽聽<h2>Results</h2>
  11. 聽聽聽聽Foo聽<%=聽tst.getFoo()聽%><br>
  12. 聽聽聽聽Bar聽<%=聽tst.getBar()聽%>
  13. 聽聽</body>
  14. </html>
  15. package聽foo;
  16. import聽javax.naming.*;
  17. import聽javax.sql.*;
  18. import聽java.sql.*;
  19. publicclass聽DBTest聽{
  20. 聽聽String聽foo聽=聽"Not聽Connected";
  21. 聽聽int聽bar聽=聽-1;
  22. 聽聽聽聽
  23. 聽聽publicvoid聽init()聽{
  24. 聽聽聽聽try{
  25. 聽聽聽聽聽聽Context聽ctx聽=聽newInitialContext();
  26. 聽聽聽聽聽聽if(ctx聽==聽null聽)聽
  27. 聽聽聽聽聽聽聽聽聽聽thrownewException("Boom聽-聽No聽Context");
  28. 聽聽聽聽聽聽DataSource聽ds聽=聽
  29. 聽聽聽聽聽聽聽聽聽聽聽聽(DataSource)ctx.lookup(
  30. 聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽"java:comp/env/jdbc/TestDB");
  31. 聽聽聽聽聽聽if聽(ds聽!=聽null)聽{
  32. 聽聽聽聽聽聽聽聽Connection聽conn聽=聽ds.getConnection();聽聽聽聽聽
  33. 聽聽聽聽聽聽聽聽if(conn聽!=聽null)聽聽{
  34. 聽聽聽聽聽聽聽聽聽聽聽聽foo聽=聽"Got聽Connection聽"+conn.toString();
  35. 聽聽聽聽聽聽聽聽聽聽聽聽Statement聽stmt聽=聽conn.createStatement();
  36. 聽聽聽聽聽聽聽聽聽聽聽聽ResultSet聽rst聽=聽
  37. 聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽stmt.executeQuery(
  38. 聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽"select聽id,聽foo,聽bar聽from聽testdata");
  39. 聽聽聽聽聽聽聽聽聽聽聽聽if(rst.next())聽{
  40. 聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽foo=rst.getString(2);
  41. 聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽bar=rst.getInt(3);
  42. 聽聽聽聽聽聽聽聽聽聽聽聽}
  43. 聽聽聽聽聽聽聽聽聽聽聽聽conn.close();
  44. 聽聽聽聽聽聽聽聽}
  45. 聽聽聽聽聽聽}
  46. 聽聽聽聽}catch(Exception聽e)聽{
  47. 聽聽聽聽聽聽e.printStackTrace();
  48. 聽聽聽聽}
  49. 聽}
  50. publicString聽getFoo()聽{聽return聽foo;聽}
  51. publicint聽getBar()聽{聽return聽bar;}
  52. }

鏈鍚庡湪Tomcat鐨剋ebapps鐩綍涓嬪緩绔婦BTest鐒跺悗灝嗗簲鐢ㄧ▼搴忔枃浠舵嫹璐濆埌榪欎釜鐩綍涓嬪嵆鍙?br />飪悸犅犅犅犻噸鏂板惎鍔═omcat鍦ㄦ祻瑙堝櫒涓奾ttp://localhost:8080/DBTest/test.jsp鍗沖彲鐪嬪埌緇撴灉銆?br />Results
Foo聽hello
Bar聽12345

4)聽聽聽聽涓浜涘父瑙佺殑闂
飪悸犅犅犅犵敱浜庡瀮鍦炬敹闆嗗櫒鐨勮繍琛岃屽鑷磋繛鎺ヨ秴鏃?br />Tomcat鏄繍琛屽湪JVM涓殑錛孞VM瑕佸懆鏈熸х殑鎵цGC(鍨冨溇鏀墮泦鍣?鏉ユ竻闄や笉鍐嶈寮曠敤鐨凧ava瀵硅薄銆傚湪GC榪愯鏃禩omcat灝嗕細鍐葷粨錛屽鏋滃湪璁劇疆榪炴帴姹犱腑鐨勮繛鎺ョ殑鏈澶х瓑寰呮椂闂?MaxWait)灝忎簬GC鐨勮繍琛屾椂闂寸殑璇濋偅涔堜綘寰堝彲鑳藉湪浣跨敤鏁版嵁搴撹繛鎺ユ椂澶辮觸銆傛帹鑽愬皢榪炴帴鐨勮秴鏃舵椂闂磋緗垚10鍒?5縐掋?br />娉ㄦ剰榪炴帴鐨勮秴鏃舵椂闂翠笌琚仐寮冪殑榪炴帴鐨勮秴鏃舵椂闂寸殑鍖哄埆銆?br />飪悸犅犅犅犻噸澶嶅叧闂繛鎺ュ紩鍙戠殑寮傚父
榪欑鎯呭喌鍙戠敓鍦ㄥ綋鍝嶅簲涓涓鎴風殑璇鋒眰鏃朵粠鏁版嵁搴撹繛鎺ユ睜閲屽彇寰椾簡榪炴帴浣嗘槸鍏抽棴浜嗕袱嬈°備嬌鐢ㄨ繛鎺ユ睜涓殑榪炴帴涓庝嬌鐢ㄧ洿鎺ヤ笌鏁版嵁搴撳緩绔嬬殑榪炴帴鏄笉涓鏍風殑錛岃繛鎺ユ睜涓殑榪炴帴鍦ㄩ噴鏀炬椂鍙槸灝嗚繛鎺ヨ繑鍥炲埌榪炴帴姹犺屼笉鏄噴鏀捐繛鎺ョ殑璧勬簮銆俆omcat浣跨敤澶氱嚎紼嬫潵澶勭悊騫跺彂鐨勮姹傦紝浠ヤ笅瀹炰緥婕旂ず浜嗕竴涓湪Tomcat涓彲浠ュ鑷村嚭閿欑殑榪囩▼錛?br />璇鋒眰A鍦ㄧ嚎紼婣涓繍琛屽茍浠庤繛鎺ユ睜涓緱鍒頒竴涓繛鎺?br />璇鋒眰A鍏抽棴浜嗚繖涓繛鎺?br />JVM杞埌綰跨▼B
璇鋒眰B鍦ㄧ嚎紼婤涓繍琛屽茍鍙栧緱涓涓繛鎺?榪欎釜榪炴帴鏄姹侫鍒氬垰榪斿洖鐨勯偅涓?
JVM杞埌綰跨▼A
璇鋒眰A鍦╢inally鍧椾腑鍙堜竴嬈″叧闂繛鎺?鍥犱負絎竴嬈℃病鏈夎緗繛鎺ュ紩鐢ㄤ負null)
JVM杞埌綰跨▼B
璇鋒眰B璇曞浘浣跨敤寰楀埌鐨勮繛鎺ヤ絾榪炴帴宸茬粡琚姹侫榪斿洖鍒頒簡榪炴帴姹犱腑鎵浠ヨ姹侭鐨勬搷浣滃け璐?br />浠ヤ笅鏄竴孌靛叕璁ょ殑鎭板綋鐨勪唬鐮佸彲浠ラ伩鍏嶄互涓婄殑闂
  1. 聽聽Connection聽conn聽=聽null;
  2. 聽聽Statement聽stmt聽=聽null;聽聽//聽Or聽PreparedStatement聽if聽needed
  3. 聽聽ResultSet聽rs聽=聽null;
  4. 聽聽try聽{
  5. 聽聽聽聽conn聽=聽...聽get聽connection聽from聽connection聽pool聽...
  6. 聽聽聽聽stmt聽=聽conn.createStatement("select聽...");
  7. 聽聽聽聽rs聽=聽stmt.executeQuery();
  8. 聽聽聽聽...聽iterate聽through聽the聽result聽set聽...
  9. 聽聽聽聽rs.close();
  10. 聽聽聽聽rs聽=聽null;
  11. 聽聽聽聽stmt.close();
  12. 聽聽聽聽stmt聽=聽null;
  13. 聽聽聽聽conn.close();聽//聽Return聽to聽connection聽pool
  14. 聽聽聽聽conn聽=聽null;聽聽//聽Make聽sure聽we聽don't聽close聽it聽twice
  15. 聽聽}聽catch聽(SQLException聽e)聽{
  16. 聽聽聽聽...聽deal聽with聽errors聽...
  17. 聽聽}聽finally聽{
  18. 聽聽聽聽//聽Always聽make聽sure聽result聽sets聽and聽statements聽are聽closed,
  19. 聽聽聽聽//聽and聽the聽connection聽is聽returned聽to聽the聽pool
  20. 聽聽聽聽if聽(rs聽!=聽null)聽{
  21. 聽聽聽聽聽聽try聽{聽rs.close();聽}聽catch聽(SQLException聽e)聽{聽;聽}
  22. 聽聽聽聽聽聽rs聽=聽null;
  23. 聽聽聽聽}
  24. 聽聽聽聽if聽(stmt聽!=聽null)聽{
  25. 聽聽聽聽聽聽try聽{聽stmt.close();聽}聽catch聽(SQLException聽e)聽{聽;聽}
  26. 聽聽聽聽聽聽stmt聽=聽null;
  27. 聽聽聽聽}
  28. 聽聽聽聽if聽(conn聽!=聽null)聽{
  29. 聽聽聽聽聽聽try聽{聽conn.close();聽}聽catch聽(SQLException聽e)聽{聽;聽}
  30. 聽聽聽聽聽聽conn聽=聽null;
  31. 聽聽聽聽}
  32. 聽聽}


椋為笩 2006-05-18 13:45 鍙戣〃璇勮
]]>
主站蜘蛛池模板: 亚洲AV无码精品无码麻豆| 亚洲日韩中文字幕日韩在线| 91大神亚洲影视在线| 两个人看的www免费视频中文| 亚洲一区二区三区乱码A| 国产97视频人人做人人爱免费| 亚洲国产综合无码一区二区二三区| 国产成人无码精品久久久久免费| 亚洲av无码专区在线观看素人| 色多多www视频在线观看免费| 国产亚洲大尺度无码无码专线| 中文在线观看永久免费| 久久久亚洲精品国产| 亚洲网站免费观看| 亚洲午夜无码久久久久小说 | 四虎国产精品免费久久影院| 羞羞视频在线免费观看| 中文字幕亚洲一区二区三区| a国产成人免费视频| 亚洲酒色1314狠狠做| 毛片免费在线观看网站| 国产偷国产偷亚洲高清在线| 在线观看午夜亚洲一区| 最近2018中文字幕免费视频| 亚洲人成人网毛片在线播放| 国产在线观看免费视频播放器| 久久精品成人免费国产片小草 | 亚洲国产激情在线一区| 国产亚洲福利一区二区免费看| 国产精品玖玖美女张开腿让男人桶爽免费看 | 亚洲综合校园春色| 全部免费国产潢色一级| 国产无遮挡裸体免费视频在线观看| 亚洲视频一区二区三区| 国产精品另类激情久久久免费 | 亚洲国产二区三区久久| 一二三四视频在线观看中文版免费 | 久久综合久久综合亚洲| 亚洲一区无码精品色| 99久久久精品免费观看国产| 日本在线观看免费高清|