案件評判
Strutsを理解する!初心者でも分かる歴史、特徴、基礎知識などを簡単に解説!

Strutsを理解する!初心者でも分かる歴史、特徴、基礎知識などを簡単に解説!

最終更新:2021/09/03 投稿:2020/11/21
Strutsを理解する!初心者でも分かる歴史、特徴、基礎知識などを簡単に解説!

StrutsはJavaに活用されるオープンソースWebアプリケーションフレームワークです。Javaフレームワークの中でも長い歴史を持ち、デフォルトスタンダードと呼ばれるほどまでに浸透した実績を持つ非常に知名度の高いフレームワークです。この記事ではStrutsを理解するために初心者でも分かる歴史、特徴、基礎知識などを簡単に解説していきます。

Struts

StrutsとはJavaに活用されるクレイグ・マクラナハン (Craig McClanahan)氏によって開発されたオープンソースWebアプリケーションフレームワークです。Javaにおけるフレームワークの中で最も知名度が高いのではないでしょうか。StrutsはMVCと呼ばれるソフトウェア設計モデルが採用されております。その特徴は画面とデータベースの開発を分離し、モジュール単位での開発を実現させたことにあります。主なStritsの種類(バージョン)としてStruts、Struts2が挙げられます。

Strutsとは
▼正式名称
Apache Struts(アパッチ・ストラッツ)
▼起源
2000年5月
▼開発元
クレイグ・マクラナハン (Craig McClanahan)氏
(2000年5月にApacheソフトウェア財団へ寄付)
▼Strutsのバージョン
・Struts
Strutsフレームワークの初版
・Struts2
改良モデル。アノテーションによる設定ファイルの削減など

Strutsの公式サイトはこちら>>

Java

JavaとはOracle社が開発・提供するオブジェクト指向のプログラミング言語です。1995年にサン・マイクロシステムズ(後にOracle社が買収)のジェームス・ゴブリン氏によって開発されリリースとなりました。プログラミング言語の発展に大きな影響をもたらしたC言語を元に開発されたことでも有名です。当時、最も人気を集めていたC言語はオブジェクト指向ではありませんでした。Javaの登場によってオブジェクト指向が主流の時代が訪れたと言われております。
Javaのキャッチコピーは「Write once, run anywhere」で直訳すると「一度書けば、どこでも実行できる」という意味があります。このことからも分かるようにJavaの特徴は『オブジェクト指向の先駆者』で『どこでも動く』ということらが挙げられます。世界中で最もポピュラーで多くのWebアプリケーションで採用されていることで知られております。

『Java基本情報』
誕生時期:1995年
開発者:サン・マイクロシステムズ(後にOracle社が買収)
種別:コンパイラ言語
特徴:①オブジェクト指向の先駆者/②どこでも動く

Javaの公式サイトはこちら>>
Javaのメリット・基礎知識について解説された記事はこちら>>

Javaフレームワークとは

『Javaにおけるシステム開発を簡単に行えるように用意された枠組みのこと』
JavaフレームワークとはJavaにおけるシステム開発のプログラミングを効率的に実施するために汎用的な機能群をまとめ、システムの骨組みとなるテンプレートまで用意してくれる枠組みのことです。フレームワークを活用することでプログラミングにおける記述コードを最小限に抑えることが出来ます。Javaフレームワークの代表的な種類としてStruts、Spring、JSFなどが挙げられます。

Javaフレームワーク人気どころ7選ついて解説された記事はこちら>>

『フレームワークとは』
フレームワークとはシステム開発におけるプログラミングを効率的に実施するために汎用的な機能群をまとめ、システムの骨組みとなるテンプレートまで用意してくれる枠組みのことです。

フレームワークの特徴や言語別の種類などについて解説された記事はこちら>>

Strutsの読み方・名前の由来

Strutsの読み方は『ストラッツ』です。正式名称は「Apache Struts」です。名前の由来は
名前の由来は調査したところ出てきませんでしたが、Strutsを和訳すると「支柱」という意味があります。Javaプログラミングにおける「支柱」を担う存在を意味して命名された可能性があります。

Strutsの歴史

StrutsはApacheソフトウェア財団の『Apache Strutsプロジェクト』によって開発、管理されているJava向けオープンソースWebアプリケーションフレームワークです。発端はクレイグ・マクラナハン氏によって開発が行われており、2000年にApacheソフトウェア財団へ寄与され、2001年に初版がリリースされました。
当時『Jakarta Project』に位置しており「Jakarta Struts(ジャカルタ・ストラッツ)」と呼ばれていました。2005年になるとJavaWebフレームワークのデフォルトスタンダードと呼ばれるほど世に浸透していきました。
2007年にはStruts2がリリースされ、これまでの仕組みを逸脱し新たなフレームワークとして置き換えられました。Struts1としての最終バージョンは2008年10月にリリースされた『Struts1.3.10』です。(こちらは2013年4月にサポートを終了)Struts2においては2020年10月現在でもバージョンアップ及びサポートが続けられております。Strutsついて簡単に以下の年表にまとめておりますのでご覧ください。

年代 内容
199X年 クレイグ・マクラナハン氏によって開発
(Strutsの発起人)
2000年5月 Apacheソフトウェア財団へ寄与
2001年 Struts初版リリース
2005年 Apacheのトップレベルプロジェクトに昇格
2007年 Struts2初版 リリース
2008年 Struts1最終バージョン
2013年4月 Struts1サポート終了
2016年5月 Struts2.5 リリース
2020年9月 Struts2.5.25 リリース

Struts1の特徴

Struts1の特徴を見ていきましょう。

長い歴史を持つ

StrutsはJavaフレームワークの中でも長い歴史を持つという特徴があります。Strutsの初版がリリースされたのは2001年のことです。歴史が長い分、多くの開発にて使用されておりドキュメントが豊富に残されております。下記のように他の有名なJavaフレームワークと比べてみても長い歴史を持つことが分かります。

Javaフレームワーク 誕生
Struts 2001年
Spring 2003年
JSF 2004年
Play Framework 2007年

MVC

Strutsは、JavaプログラムをModel(モデル)、View(ビュー)、Controller(コントローラ)の3つの役割に分けて記述するように設計されているというMVCを採用しているという特徴があります。このようにMVCを採用していることで実装部分における作業負担を軽減することができます。 

MVCモデルの歴史、特徴などについて解説された記事はこちら>>

バリデーション

Strutsはバリデーション機能を持つという特徴があります。バリデーション機能とは入力データの必須チェックや文字数チェックの処理など入力チェック用のプログラムを実装する手間が省くことのできる機能です。

Struts2の特徴

Struts2の特徴を見ていきましょう。

Struts1とは全くの別仕様

Struts2はStruts1の後継機であるものの全くの別仕様であるという特徴があります。名称が同じなだけあって、似たような仕様をイメージする方が多いと思います。しかし1系では「Jakaruta」2系では「WebWork2」という全く別物の考え方を取り入れております。

プラグイン機能がシンプル

Struts2はプラグイン機能がシンプルに利用できるという特徴があります。Struts1でもプラグイン機能はありましたが、Struts2では追加機能のJARファイルを置くだけという非常にシンプルな形で利用することができます。

アノテーション機能

Struts2はアノテーション機能を持つという特徴があります。ソースファイルにアノテーションを設定することでXMLファイルでの設定を減らせる仕様となっております。

その他のJavaフレームワーク

Struts以外のJavaによるシステム開発に用いられる代表的なフレームワークを紹介させていただきます。

Spring

SpringとはJavaに活用されるロッド・ジョンソン(Rod Johnson)氏によって開発されたオープンソースアプリケーションフレームワークです。Javaにおけるフレームワークの中でも長い歴史を持ち、世界中のシステム開発に利用されております。
Springの特徴は様々なプロジェクトと呼ばれるライブラリの集合体で形成されており、開発者が用途に合わせて必要なライブラリを活用するという特徴があります。そのため非常に柔軟性が高いフレームワークとして親しまれております。主なSpringの種類としてSpringBoot、SpringDate、SpringSecurityなどが挙げられます。

Springとは
▼正式名称
Spring Framework(スプリング・フレームワーク)
▼起源
2003年6月
▼開発元
ロッドジョンソン(Rod Johnson)氏
(SpringSource社)
▼主要なSpringの種類
・Spring Boot
複雑な手順や設定が不要でプロジェクトを作成できる
・SpringFramework
Webアプリのコアな機能を提供する
・SpringData
データベース操作を簡易化する
・SpringSecurity
ログイン認証やCSRF対策など

Springの公式サイトはこちら>>
Springの歴史や特徴、基礎知識について解説された記事はこちら>>

Play Framework

Play FrameworkとはJavaとScaraの2つのプログラミング言語でZenexity社のプログラマーギヨーム・ボルト(Guillaume Bort)氏によって開発されたオープンソースのWEBアプリケーションフレームワークです。Play FrameworkはRuby on Railsからの影響を強く受けたフレームワークとして有名です。その特徴として軽量で動きが速いという点が挙げられることから度々Webサービスの開発などにおいて好まれて利用されております。

PlayFrameworkとは
▼正式名称
Play Framework(プレイ・フレームワーク)
▼起源
2007年
▼開発元
ギヨーム・ボルト(Guillaume Bort)氏
(Zenexity社)

Play Frameworkの公式サイトはこちら>>
Play Frameworkの歴史や特徴、基礎知識について解説された記事はこちら>>

JSF

JSF(Java Server Faces)とは、Javaに活用されるOracle社によって開発されたWebアプリケーションフレームワークです。Strutsと同様にMVCと呼ばれるソフトウェア設計モデルが採用されております。その特徴はWebアプリケーションのユーザインターフェースの作成のために活用され、コンポーネントベースで開発するものとなっております。JSFの仕様はJavaEEJava EE(Java Platform, Enterprise Edition)の一部として取り込まれています。

JSFとは
▼正式名称
Java Server Faces(JSF)
▼起源
2004年3月
▼開発元
Oracle社

JSFの公式サイトはこちら>>
JSFの歴史や特徴、基礎知識について解説された記事はこちら>>

まとめ

Strutsを理解するために初心者でも分かる歴史、特徴、基礎知識などを簡単に解説させていただきました。Strutsを一言で表すと『Javaにおいて長い歴史を持ち、最もポピュラーなフレームワーク』です。他にも「MVC」「バリデーション」といった特徴が挙げられます。Strutsについてこの記事に書かれている最低限の内容は理解をしておくようにしましょう。

案件評判
常駐する会社が、実際どんな会社で、どんな案件が動いているか詳しく知りたい。
これは常駐形態で働く方なら誰もが感じていることだと思います。 常駐の働き方をされている方は是非一度「案件評判」で案件についての評判をチェックしてみてください。