このアーカイブは同期化されません。 mixi の日記が更新されても、このアーカイブには反映されません。
Struts を動作させるためには、
設定ファイルを用意しなければならない。
設定ファイルは最近流行の XML 形式であり、
通常、/WEB-INF/struts-config.xml に配置する。
しかしながら、この設定ファイル、非常に複雑なのだ。
なので、少しずつ読み解いていくことにしよう。
Struts の設定ファイルの基本的な枠組みは以下のとおり。
Controller として、最も簡単な設定だけしてみよう。
========== struts-config.xml ==========
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts-config PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 1.3//EN"
"http://jakarta.apache.org/struts/dtds/struts-config_1_3.dtd">
<struts-config>
<action-mappings>
<action path="/index" forward="/WEB-INF/pages/login.jsp" />
</action-mappings>
</struts-config>
========== end of struts-config.xml ==========
Struts は DTD を使うため、DOCTYPE 宣言が必要となる。
今回は Struts-1.3.9 を使うので、バージョンも 1.3 だ。
バージョンによって定義できる要素が異なるので注意。
<action-mappings> 要素は、Controller の設定であり、
Struts の ActionServlet に届いた要求を、
どのような Model や View に渡すかを指定する。
<action-mappings> の中には、複数の <action> 要素が入り、
各 <action> 要素によって URL の動作を定義する。
<action> の path 属性は必須であり、
<action> が関連付けられる URL(のパス部分)を指定する。
上記の場合、/index というパスに要求があると、
/WEB-INF/pages/login.jsp に転送する動作の定義である。
http://localhost:8080/app/index.do 等にアクセスすれば、
この動作を呼び出すことができる。
ActionServlet は通常、*.do に割り当てるため、
最後が .do で終わった URL でないと、
ActionServlet が呼び出されない。
そのため、/index でなく、/index.do となるのだ。
このことを考慮し、ActionServlet は要求を受けると、
「そのパス部分から拡張子を除いたもの」を元に
対応する path を持つ <action> を探し出し、
見つかった場合はその内容に従って処理をする。
なので、<action> の path 属性には拡張子は不要である。
ううむ、いまいちピンときにくいため、
明日、適当なアプリケーションを作ってみよう。