サーブレットとTomcatとStrutsのそれぞれの簡単な説明とそれぞれの役割を教えてもらえないでしょうか?


サーブレットはサーバで動くアプリケーションです。

HTMLをサーバに置いて、クライアントからそのサーバにアクセスすると、そのHTMLが表示されますが、

HTMLは静的な(クライアントの要求に応じて返答を変化することが「できない」)コンテンツしか扱うことができません。

そこでサーブレットを使います。

サーブレットは動的なコンテンツを扱うことができるJavaのプログラムです。

例えばアクセスした時刻を表示したり、アクセスカウンタを表示させたりすることができます。

これはJavaのプログラムがサーバで動いているからです。



Tomcatは上記のサーバに相当するものです。

サーブレットやJSPを動かすことができるサーバがTomcatです。



Strutsはアプリケーションフレームワーク(*1)のひとつです。

Webアプリ(*2)をサーブレットやJSPを使って1から作るのは手間がかかり、

また人によってアプリの作り方がまちまちになります。

Strutsはアプリケーションの作り方をある程度型決めすることで、アプリの作り方の属人性を排除できたり、

サーブレット/JSPを使って開発するよりも楽に開発することができます。

楽にとは言っても、最初に作成するときはStrutsの仕組みを覚えないといけないので、

一番初めにStrutsでのWebアプリを作るときは時間が掛かるでしょうが、

2回目以降はサーブレット/JSPを使って作るよりも短期間で、かつ品質の確保されたWebアプリを作ることができます。





*1 フレームワークは英語で「枠組み」などといった意味です。

*2 Webで動作するアプリケーションのことを「Webアプリ」と呼びます。