# 準備

## ソースコードからのビルド

ダウンロードしたソースパッケージを展開します。

build.template.propertiesをコピーしてbuild.propertiesというファイルを作ります。build.propertiesのプロパティ servlet.jar にServlet APIのJARファイルのパスを書きます。

入手したソースコードの先頭ディレクトリ(build.xmlファイルのある場所)に移動しantを実行します。

> > ant

targetディレクトリのfeat-2_0.jar(バージョンによってファイル名が変わります)が作成されたバイトコードです。

## インストール

ソースコードからビルドするかバイナリ リリースのパッケージから取り出したfeat-2_0.jarをアプリケーションのWEB-INF/libに含めてください。

また、featが使用するライブラリは展開したパッケージのlibにありますので、この中のJARファイルを検索するなどして必要に応じてアプリケーションのWEB-INF/libにコピーしてください。

## web.xmlの設定

featで作成したアプリケーションへのリクエストはすべてfeat2.ActionServletが受け取ります。web.xmlにサーブレットとサーブレットマッピングを設定する必要があります。

        <servlet>
            <servlet-name>action</servlet-name>
            <servlet-class>feat2.ActionServlet</servlet-class>
            <init-param>
                <param-name>config</param-name>
                <param-value>/WEB-INF/feat-config.xml</param-value>
            </init-param>
            <load-on-startup>1</load-on-startup>
        </servlet>

        <servlet-mapping>
            <servlet-name>action</servlet-name>
            <url-pattern>*.do</url-pattern>
        </servlet-mapping>

### サーブレットの初期化パラメータ

ActionServletには初期化パラメータがあります。configパラメータで設定ファイルを指定できます。デフォルトは/WEB-INF/feat-config.xmlです。

### サーブレットマッピング

<servlet-mapping>の<url-pattern>は注意が必要です。featはActionServletへのリクエストURIが

> http://ドメイン名/アプリケーション名/フィーチャー名/コマンド名.do

という形式であることを期待します。

- アプリケーション名

  ウェブアプリケーションの名前です。featではとくに制限はありません。/(ルート)でも問題ありません。

- フィーチャー名

  コマンドがどのフィーチャーのものかを特定します。フィーチャー名は、フィーチャー設定ファイルで設定します。

- コマンド名

  フィーチャー設定ファイルで定義したコマンドの名前です。コマンド名のあとの拡張子は<url-pattern>で指定できるパターンなら何でも良いのですが、名前の最後のピリオド以降を切り捨てたものがコマンド名となります。