本連載は、JSP/サーブレット+StrutsのWebアプリケーション開発を通じて、Java言語以外(PHPやASP.NET、Ruby on Railsなど)の開発にも通用するWebアプリケーション全般の広い知識・常識を身に付けるための連載です
今回は、「Strutsの常識」と題し、Webアプリケーションフレームワークの1つであるStrutsについての概要を説明したうえで、JDKやEclipse、TomcatなどのWebアプリケーション作成の環境構築を行い、サンプルプログラムを実際に作成してみましょう。
連載第1回の「いまさら聞けない、Webアプリケーションの常識」で、「本連載ではStrutsを取り上げていきます」といいましたが、初めに「Strutsとはどのようなものか?」「Strutsを使用するメリットは何なのか?」などを織り交ぜながら詳しく説明することにしましょう。
Strutsは、The Apache Software Fundationが2000年から開発しているオープンソースのソフトウェアです。「Apache Software License 2.0」というライセンスに基づいて公開されています。
正式名称は「Apache Struts」で、「アパッチ・ストラッツ」などと読みますが、本連載では「Struts」と表記することにします。Strutsという言葉は、英語の「strut」の複数形で「支柱」「方杖」「誇示」などの意味があります。
Strutsは2008年7月現在、JSP/サーブレットを使うJavaのWebアプリケーションを開発するうえで、最も使われているフレームワークの1つといっても過言ではないでしょう。開発当初の2001年ぐらいから使われ続けて8年近くが経過し、最近は良い意味でも悪い意味でも「枯れたフレームワーク」といわれるようになっています。
Struts開発のためのツールやStrutsのプラグイン、さらにStruts自体を拡張したフレームワーク/ライブラリやStrutsと連携できるフレームワーク/ライブラリも多数存在します。
Strutsは前回紹介したMVCモデル採用のフレームワークであり、画面の変更であれば、Viewである画面(JSP)の修正だけで済むという開発効率向上のメリットがあります。
また、コードは後述しますが、Strutsには独自のタグライブラリが用意されているので、画面(JSP)の記述レベルを統一できると同時に、可読性の低下を防止することが可能で、より品質の高いWebアプリケーションを構築できます。前回説明したように、JSPでは「<%=」「%>」で囲まれるコード、例えば「<%= new java.util.Date() %>」の部分のようなJava言語のコードを埋め込む必要がある場合もありますが、Strutsでは独自のタグライブラリによりJava言語のコードを混在させる必要はありません。
チームでWebアプリケーションを設計すると、個々のエンジニアの設計手法や、考えが違うため、実装方法に多少の差異があるWebアプリケーションが構築されてしまいがちです。Strutsでは上記のメリットがあるため、その問題を解消することが可能なのです。
Strutsのメリットは、ほかにもいろいろとあります。詳しくは記事「Strutsを使うWebアプリケーション構築術(1)」をご参照ください。
しかし、Strutsは広く使われ過ぎたためか、「XMLの設定ファイルが多い!」「脆弱(ぜいじゃく)性があるぞ!」などの議論の対象になることも多く、独自拡張したり前述のプラグインや拡張フレームワーク、ライブラリを使うなどして問題に対処している開発プロジェクトも多いようです。
今回はStruts自体の概要のため詳しくは触れませんが、XMLでの設定や脆弱性については今後の連載で取り上げる予定です。「それまで待てない!」という読者は連載「Strutsで作るセキュアWebアプリケーション」を参照しておいてください。
Javaでは、Struts以外の主なWebアプリケーションフレームワークとして、主に以下のものがあります。
またJava以外では、主に以下があります。
ASP.NETとStrutsの比較は記事「ASP.NET vs. Struts フレームワーク徹底比較」を、Ruby on RailsとStrutsの比較は記事「Javaから見たRuby on Rails Java+Sturtsの視点からRailsを捉える」などが参考になります。
Strutsについて概要を説明したところで、サンプルプログラムを作りながら、Strutsを用いたWebアプリケーションの構成要素を説明していきたいと思います。
ちなみに、本連載では、Strutsのバージョンは1.3.8を使います。Struts 2系もすでにあるのですが、こちらは同じくWebアプリケーションフレームワークであるWebWorks 2を基に作られたもので、Struts 1系とは異なる機能を提供するものです。2008年7月現在では、Struts 1系の方が実業務に使われることが多いと思いますので、Struts 1系を採用することにしました。あらかじめご了承ください。
ここで、いったん本稿で作成するサンプルプログラムについて確認しておきます。本稿では、Strutsの簡単なサンプルプログラムとして「PKG」というワークスペース(作業フォルダ)を作成しておきます。「PKG」の構成図は以下のとおりです。
構成図を見ると大変そうですが、自分で最初からすべてを作成するわけではなく、Strutsが提供しているサンプルプログラムを流用するので、難しいファイルの作成や、設定はありません。
次ページからは、Strutsを使ったWebアプリを作るための環境構築するためのソフトウェアをインストールし、設定を行っていきます。
Copyright © ITmedia, Inc. All Rights Reserved.