* 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-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>
#html(</td><td>)
(1)jspファイルが出力する文字エンコーディングを指定する。


(2)jspファイルのヘッダ部分に必ず記述する文言を、別ファイルに記述しておく事ができる。

※各ファイルで
<%@ page contentType="text/html;charset=Windows-31J" %>
<%@ taglib prefix="c" uri="http&#58;//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>)


トップ   一覧 単語検索 最終更新   ヘルプ   最終更新のRSS