Tomcat は無料で強力な Java Web サーバーとして多くの Java 愛好家に愛用されていると思いますが、最新バージョンの Tomcat5 は servlet2.4 と jsp2.0 をサポートしています。今日は Tomcat5 と Ms sqlserver 000 を使用してみます。データベース接続プールの構成作業を一緒に始めましょう。
準備が必要です
1.使用するjdkのバージョンは1.4.01です。
2. Tomcat 5 5.0.16 バージョンのダウンロード アドレスを使用しています: http://jakarta.apache.org/site/binindex.cgi
3. Mssql サーバー 2000 データベース
4. Mssql サーバー 2000 の公式 jdbc ドライバーは、Microsoft の公式 Web サイトから無料でダウンロードできます。
上記のソフトウェアをインストールした後、実際の構成を入力します。
1. jdbc のインストール ディレクトリを見つけ、jar を変更します。 mssqlserver.jar と msutil.jar の 3 つのファイルを $CATALINA_HOME/common/lib/ にコピーします ($CATALINA_HOME は tomcat5 のインストール ディレクトリを表します)。
私は editplus を使用しています (彼女は私の大切な友人です)
。) $CATALINA_HOME/conf/server.xml ファイルを開き、コンテキストが設定されている場所を見つけて、次のコードをファイルに貼り付けます
<Context path="/DBTest" docBase="D:rautinee workdb"
debug="5" reloadable="true"crossContext="true">
<Logger className="org.apache.catalina.logger.FileLogger"
プレフィックス = "localhost_DBTest_log"。 サフィックス = ".txt"
タイムスタンプ="true"/>
<リソース名="jdbc/TestDB"
auth="コンテナ"
type="javax.sql.DataSource"/>
<ResourceParams name="jdbc/TestDB">
<パラメータ>
<名前>工場</名前>
<value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
</parameter>
<!-- プール内の dB 接続の最大数を確認してください。
mysqld max_connections を処理できる大きさに設定します
制限を設けない場合は、すべての DB 接続を 0 に設定します。
-->
<パラメータ>
<name>maxActive</name>
<値>100</値>
</parameter>
<!-- プールに保持するアイドル状態の dB 接続の最大数。
制限なしの場合は 0 に設定します。
-->
<パラメータ>
<name>maxIdle</name>
<値>30</値>
</parameter>
<!-- dB 接続が使用可能になるまでの最大待機時間
ミリ秒単位、この例では 10 秒の場合、例外がスローされます。
このタイムアウトを超えると、無期限に待機するには -1 に設定します。
-->
<パラメータ>
<name>maxWait</name>
<値>10000</値>
</parameter>
<!-- MSSQLserver dB 接続用の dB ユーザー名とパスワード -->
<パラメータ>
<名前>ユーザー名</名前>
<値>さ</値>
</パラメータ>
<パラメータ>
<名前>パスワード</名前>
<値></値>
</parameter>
<!-- mssqlserver JDBC ドライバーのクラス名 -->
<パラメータ>
<name>ドライバークラス名</name>
<value>com.microsoft.jdbc.sqlserver.SQLServerDriver</value>
</parameter>
<!-- mssqlserver dB に接続するための JDBC 接続 URL。-->
<パラメータ>
<名前>URL</名前>
<value>jdbc:microsoft:sqlserver://localhost:1433;databasename=Northwind</value>
</パラメータ>
</ResourceParams>
</Context>
注: ローカル データベースの sa のパスワードは空です。データベースは Northwind を使用しています。このディレクトリは D:rautinee workdb です。DBTest の
下にある web.xml ファイルを開きます。次のコードを持つ元のコンテンツ
<?xml version="1.0"coding="ISO-8859-1"?>
<!DOCTYPE Web アプリ PUBLIC
"-//Sun Microsystems, Inc.//DTD Web アプリケーション 2.3//EN"
「 http://java.sun.com/dtd/web-app_2_3.dtd 」
<ウェブアプリ>
<description>MSSql サーバーのテスト アプリ</description>
<リソース参照>
<description>DB 接続</description>
<res-ref-name>jdbc/TestDB</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>コンテナ</res-auth>
</リソース参照>
</web-app>
これで設定は完了です。次のステップは、接続が成功したかどうかをテストするための 2 つのファイルを作成することです。
ここではhttp://jakarta.apache.org を使用しました。上記の例は
、最初に Bean ファイル
パッケージ foo; を
使用しています。
インポート javax.sql.*;
import java.sql.*;
public class DBTest {
String foo = "接続されていません";
int バー = -1;
public void init() {
試す{
コンテキスト ctx = 新しい InitialContext();
if(ctx==null)
throw new Exception("Boom - No Context");
DataSource ds = (DataSource)ctx.lookup("java:comp/env/jdbc/TestDB");
if (ds != null) {
接続 conn = ds.getConnection();
if(conn != null) {
foo = "接続を取得しました"+conn.toString();
ステートメント stmt = conn.createStatement();
結果セットの最初 =
stmt.executeQuery("注文から * を選択");
if(rst.next()) {
foo=rst.getString("顧客ID");
bar=rst.getInt("注文ID");
}
conn.close();
}
}
}catch(例外 e) {
e.printStackTrace();
}
パブリック
String getFoo() { return foo; }
public int getBar() { リターンバー;}
}
次に、index.jsp ファイル
<html>
<頭>
<title>DB テスト</title>
</head>
<本文>
<%
foo.DBTest tst = 新しい foo.DBTest();
tst.init();
%>
<h2>Ms SQL Server 2000 Java の検索結果</h2>
Foo <%= tst.getFoo() %><br/>
バー <%= tst.getBar() %>
</body>
</html>
'www.downcodes.com
がコンパイルされ、実行されます。何も問題がなければ、
IE に表示されるレコード
が取得されます。
Ms SQL Server 2000 Java の検索結果
FooVINET
バー 10248
わかりました。準備は正常に完了しました。
参考ドキュメント:
http://jakarta.apache.org/tomcat/tomcat-5.0-doc/jndi-datasource-examples-howto.htmlに mysql と oracle8i の接続に関するチュートリアルがありますので、興味のある方はチェックしてみてください。
著者 Haizai 電子メール:[email protected] http://www.tryitsoft.com