Documentation
2-8. サーバに配置する
Mayaa を使うアプリケーションをアプリケーションサーバに配置する際に必要なことを説明します。
ページを置く場所
Mayaa はリクエストされたファイルを次の順番で探します。(例: http://localhost:8080/mayaa/index.html にアクセスされた場合)
- コンテキストルートの下 (例: C:\tomcat\webapps\mayaa\index.html)
- /WEB-INF/page の下 (例: C:\tomcat\webapps\mayaa\WEB-INF\page\index.html)
- クラスパス (例: C:\tomcat\webapps\mayaa\WEB-INF\classes\index.html)
2, 3 番目は、Mayaa を通さなければアクセスできない場所ですので、MayaaServlet の設定を間違えている場合や MayaaServlet のみ異常終了した場合に、直接テンプレートの HTML ファイルを表示してしまうことを防げます。
■標準のディレクトリ構成
Mayaa の標準設定では下記のようになっています。Mayaa が動作するために必要なファイルはこれで全部です。
コンテキストルート
+ WEB-INF/
+ lib/
- commons-beanutils-core-*.jar
- commons-logging-*.jar
- jaxen-*.jar
- mayaa-*.jar
- nekohtml-*.jar
- rhino-*.jar
- xercesImpl-*.jar
- xml-apis-*.jar
- web.xml
web.xml の書き方
Mayaa の基本的な使い方は、MayaaServlet を定義しページを返すときに forward する使い方です。JSP に forward する場合と同じです。従って、Mayaa に任せるファイル (一般的には *.html) を MayaaServlet にマッピングする設定を行います。
■MayaaServlet を設定する
拡張子が .html の HTML ファイルのみを Mayaa に任せる場合、次のように設定します。
<?xml version="1.0" encoding="UTF-8"?>
<!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>
<servlet>
<servlet-name>MayaaServlet</servlet-name>
<servlet-class>org.seasar.mayaa.impl.MayaaServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>MayaaServlet</servlet-name>
<url-pattern>*.html</url-pattern>
</servlet-mapping>
</web-app>
Mayaa はリクエストされたファイルの Mime-Type が html、xhtml、xml であるか、もしくは拡張子が .mayaa である場合に処理を行います。それ以外であれば前述のパス解決を行ったあと、そのまま素通しします。他の Servlet やアプリケーションに処理を任せるものがなければ、すべての URL を Mayaa に任せることもできます。
<servlet-mapping>
<servlet-name>MayaaServlet</servlet-name>
<url-pattern>/*</url-pattern>
</servlet-mapping>






