Tomcatインストール - Javaサーブレット・JSPを処理するアプリケーションサーバ †
◆Tomcatのインストール
・そこらじゅうに情報が転がってるので省略
◆Apacheとの連携
・Tomcatはデフォルトでは、ポート8080でリクエストを受け付ける為、Tomcatへのアクセスは http://example.com:8080/sample/ とかやらないとダメだけど、
mod_jk2などのコネクタを利用してApacheと連携すれば、通常のポート80で接続しても Apacheが Tomcatへの処理要求のみ Tomcatへの投げてくれる。
・今のところ外部に公開の予定もないので省略
◆JDBCドライバのインストール(PostgreSQLの場合)
・JDBCドライバを http://jdbc.postgresql.org/ からダウンロードする。
・ダウンロードしたファイルを(pgXXXdbc3.jar)を %CATALINA_HOME%/common/lib に配置する。
◆コネクションプーリングの設定
・コネクションプールとは、時間のかかるDB接続を短縮する為に、DB接続を最初から一定数確保しておいて
要求がある度に確保(プール)しておいた接続を使い回すしくみ。
(規模の大きいアプリなどには必須となる設定だと思いまふ。。)
・TOMCATではコネクションプーリングの機能が標準で提供されています。
で、コネクションプーリングを利用するには、以下の2つのファイルを編集する必要がある。
1 | %CATALINA_HOME%/conf/Catalina/localhost/アプリケーション名.xml |
2 | アプリケーションルート/WEB-INF/web.xml |
※(1)のファイルはダウンロードしたTomcatのドキュメントには %CATALINA_HOME%/conf/server.xml を編集するように書かれていたが
うまくいかなかったので、%CATALINA_HOME%/conf/近辺を徘徊してたらこのファイルを発見。で、編集したらうまくいった。
(別のアプリから利用する事がある場合は、やっぱりserver.xmlに記述しないとダメだけど。。)
(1) %CATALINA_HOME%/conf/Catalina/localhost/アプリケーション名.xmlの編集(赤字部分を追加)
|
<?xml version='1.0' encoding='utf-8'?>
<Context path="/アプリケーション名" docBase="アプリケーションPATH"
debug="0" reloadable="false" crossContext="true">
<font color=red><Resource name="jdbc/TestDB" auth="container"
type="javax.sql.DataSource" debug="1" />
<ResourceParams name="jdbc/TestDB">
<parameter>
<name>factory</name>
<value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
</parameter>
<parameter>
<name>driverClassName</name>
<value>org.postgresql.Driver</value>
</parameter>
<parameter>
<name>url</name>
<value>jdbc:postgresql://localhost/TestDB</value>
</parameter>
<parameter>
<name>username</name>
<value>username</value>
</parameter>
<parameter>
<name>password</name>
<value>password</value>
</parameter>
<parameter>
<name>maxWait</name>
<value>10000</value>
</parameter>
<parameter>
<name>maxActive</name>
<value>100</value>
</parameter>
<parameter>
<name>maxIdle</name>
<value>30</value>
</parameter>
</ResourceParams></font>
</Context>
|
◆パラメータ説明
パラメータ | 説明 | name | データソース名 | driverClassName | JDBCドライバ名 | username | DBユーザ名 | password | DBパスワード | url | DBへの接続文字列 | maxActive | プール内の最大接続数 | maxWait | 接続に空きが無い場合の最大持ち時間(ミリ秒) | maxIdle | 待機時に持続する接続数 | validationQuery | 接続検証用のクエリ |
|
(2) アプリケーションルート/WEB-INF/web.xml の編集(赤字部分を追加)
|
<?xml version="1.0" encoding="ISO-8859-1"?>
<web-app xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
version="2.4">
・
中略
・
<font color=red><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></font>
</web-app>
|
◆jsp用の設定
・アプリケーションルート/WEB-INF/web.xml の編集(赤字部分を追加)
|
<?xml version="1.0" encoding="ISO-8859-1"?>
<web-app xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
version="2.4">
・
中略
・
<font color=red>
<jsp-property-group>
<url-pattern>*.jsp</url-pattern>
<el-ignored>false</el-ignored>
<page-encoding>Windows-31J</page-encoding></font> ・・・(1)
<font color=red><scripting-invalid>false</scripting-invalid>
<include-prelude>/header.jsp</include-prelude></font> ・・・(2)
<font color=red></jsp-property-group>
<taglib>
<taglib-uri>/tags/struts-html</taglib-uri></font> ・・・(3)
<font color=red><taglib-location>/WEB-INF/struts-html.tld</taglib-location></font> ・・・(4)
<font color=red></taglib>
<taglib>
<taglib-uri>/tags/struts-bean</taglib-uri>
<taglib-location>/WEB-INF/struts-bean.tld</taglib-location>
</taglib>
<taglib>
<taglib-uri>/tags/struts-tiles</taglib-uri>
<taglib-location>/WEB-INF/struts-tiles.tld</taglib-location>
</taglib>
</font>
</web-app>
|
(1)jspファイルが出力する文字エンコーディングを指定する。
(2)jspファイルのヘッダ部分に必ず記述する文言を、別ファイルに記述しておく事ができる。
※各ファイルで
%@ page contentType="text/html;charset=Windows-31J" %>
%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
とか記述しなくてよくなる。
(3)(4)タグライブラリのPathに別名つけて登録しておく事ができる。
<%@ taglib prefix="html" uri="/WEB-INF/struts-html.tld" %>
と書いていたものが
<%@ taglib prefix="html" uri="/tags/struts-html" %>
と書けるようになる。
|