フレームワークとは一言で言えば「アプリケーションの骨組み部分のソフトウェア」です。 自作パソコンで例えれば、「マザーボード」にあたる部分に相当します。 パソコンのマザーボードにはさまざまな拡張ボードが取り付けられ、自分自身はマザーボードの内部の詳細までは理解する必要はありません。 基本の土台の上に部品であるコンポーネントを乗せて行くだけで、十分な機能を満たすWebアプリケーションが出来上がります。
従来のライブラリを活用したアプリケーションの開発の場合、1本1本のプログラムから共通部分のサブルーチン、メソッドを呼び出したり、生成したりしていました。 これにより同じような流れのプログラムでも各個人で違った作りになってしまい、構造そのものもばらばらになりがちでした。 フレームワークの場合は共通部分があり、その流れを制御したり、各固有の処理を逆に呼び出すという仕組みになります。 勿論、従来と同じようにライブラリとしてのフレームワークの呼び出しも可能です。 このようなフレームワークがさまざまな業務モデルに適した形で提供され、その一つにStrutsがあり、 アプリケーションを開発するためのMVCモデル2のフレームワークと言われています。
Strutsは主に次のような機能を提供しています。