変更履歴Strutsストラッツは、JavaのHTTPサーブレットを隠蔽したフレームワーク。TomcatやWebLogic等のサーブレットコンテナと共に使用する。[/2005-09-18]StrutsのドキュメントStruts1.1のJavadocStruts1.2のJavadocStruts1.3のJavadoc(英語)Struts1.xのJavadoc(英語)(Struts2.x(英語))概要サーブレットをそのまま使ってもWebアプリは作れるが、リクエスト受付・処理・結果(HTML)を返す、といった手順を明確に定めたものがフレームワーク。Strutsもそういったフレームワークのひとつ。ApacheをWebサーバーとしてHTTPリクエストを受け付け、サーブレットコンテナであるAPサーバー(TomcatやWebLogic)に渡し、その上で稼動しているStrutsによって実際の処理を行うという組み合わせで使うことが多い。Apacheを使わずにTomcatで直接要求を受け付けることも出来るが、Apacheの方がSSLに対応していたりして高機能らしい。Strutsは、いわゆるMVC(model-view-controller)モデルに基づいている。1の結果に応じて、アクションクラス(controller)を呼び出す。フォワード(JSPの整形を)する。(view)どのアクションクラス・どのJSPが呼ばれるかについては、Strutsの設定ファイル(struts-config.xml)で指定する。Strutsのダウンロードページからダウンロードする。LinuxにTomcat4と共にインストールする場合。[2005-08-07]まずはTomcatをインストールしておく。Strutsのアーカイブjakarta-struts〜.tar.gzを解凍・展開する。出来たファイル群(jakarta-struts〜/webapps/*)を/usr/local/tomcat/webapps/にコピーする。同様にjakarta-struts〜/lib/struts.jarを/usr/local/tomcat/libにコピーする。Tomcatを再起動(終了・起動)する。Struts1.3.10の場合。[2009-10-09]Strutsのアーカイブをダウンロードしてくる。javaソースとtldファイルやサンプル(struts-config.xml含む)が入っているstruts-1.3.10-lib.zipを解凍し、jarファイルをWebアプリのlibの下にコピーする。struts-1.3.10-src.zipを解凍し、struts-1.3.10/src/taglib/src/main/resources/META-INF/tldの下にあるtldファイルをWebアプリのtld置き場にコピーする。lib(jarファイル)にはcommons-beanutilsとかcommons-fileuploadとかも入っているので、別途インストールしようとしているなら、バージョンに注意。zipと同じ形式らしい。webappsの下に置いておくと、J2EEサーバーによって自動的に展開される。タグライブラリディスクリプタ。XMLで記述されている。このディレクトリは、URLで指定しても見られない。この下に設定ファイル等を置く。このディレクトリ配下の動作を規定する。サンプルのコピーで一応は充分。(クライアントでボタンをクリックして)HTTPリクエストが来た時の動作を規定する。*.jarを格納する。struts.jarやjdbc*等。struts以外のクラス(*.class)。EJBやJSP用もここに格納する。web.xml:<web-app>〜<servlet><servlet-name>action</servlet-name><servlet-class>org.apache.struts.action.ActionServlet</servlet-class><init-param><param-name>config</param-name><param-value>/WEB-INF/struts-config.xml</param-value></init-param></servlet><servlet-mapping><servlet-name>action</servlet-name><url-pattern>*.do</url-pattern></servlet-mapping><welcome-file-list>〜</welcome-file-list></web-app>Strutsでは、基本的に、末尾に「.do」が付いたURLを用いる。(ファイルが存在するわけじゃないので、厳密にはURLではなくURIだけど)そのURIがリクエストされると、actionで指定されたActionServletが実行される。これはstruts-config.xmlを参照して処理を行う。/>←コンテキストID/main/error.jsp</action>参考:WEB-INFの場所は、コンテキストID/WEB-INF/http://ホスト名:8080/コンテキストID/loginへの処理が要求されるとorg.apache.struts.webapp.example.Loginクラスが実行され、その結果に応じてhttp://ホスト名:8080/main/gamen1.jspやhttp://ホスト名:8080/main/error.jspが表示される。JSPへ戻るメールの送信先:ひしだま。