* Tomcatインストール - Javaサーブレット・JSPを処理するアプリケーションサーバ [#p620b17d] #setlinebreak(on); ◆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の編集(赤字部分を追加) #html(<table><tr><td style="width:10px;"></td><td style="background:#ffffff;">) <?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> #html(</td><td>) ◆パラメータ説明 |パラメータ|説明|h |name|データソース名| |driverClassName|JDBCドライバ名| |username|DBユーザ名| |password|DBパスワード| |url|DBへの接続文字列| |maxActive|プール内の最大接続数| |maxWait|接続に空きが無い場合の最大持ち時間(ミリ秒)| |maxIdle|待機時に持続する接続数| |validationQuery|接続検証用のクエリ| #html(</td></tr></table>) (2) アプリケーションルート/WEB-INF/web.xml の編集(赤字部分を追加) #html(<table><tr><td style="width:10px;"></td><td style="background:#ffffff;">) <?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> #html(</td></tr></table>) ◆jsp用の設定 ・アプリケーションルート/WEB-INF/web.xml の編集(赤字部分を追加) #html(<table><tr><td style="width:10px;"></td><td style="background:#ffffff;">) <?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-config> <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> </jsp-config></font> </font> </web-app> #html(</td><td>) (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" %> と書けるようになる。 #html(</td></tr></table>)