• ベストアンサー

フレームワークの必要性

JSP/サーブレット/JavaBeansを利用すればMVCの役割は果たしているような気がします。 Strutsのようなフレームワークが存在するのはなぜでしょうか?

  • Java
  • 回答数3
  • ありがとう数0

質問者が選んだベストアンサー

  • ベストアンサー
回答No.3

1) ActionForm で要求パラメータ(文字列)をオブジェクトに変換して受け取れる。 サーブレットのように、大量の解釈コードを書かなくてすむ。 複雑な構造のフォームでは手間が雲泥の差。 2) strutsカスタムタグで JSPからスクリプトレットを大幅に減らせる。 スクリプトレットの排除が不十分な JSP は、View とはいえない。 3) 文字列をリソースとして分離でき、多言語化も容易。 取りあえず思いついた範囲を書きました。

その他の回答 (2)

  • teketon
  • ベストアンサー率65% (141/215)
回答No.2

まず、MVCは唯の手段で、目的ではありません。同様にフレームワークも手段です。 JSP/サーブレット/JavaBeansはMVCの役割を果たすこともできますが、唯の道具です。 唯の道具をよりよい使い方をするためには、ある程度ルールを整備する必要があり、 それを行うのがフレームワークです。 あと、集団で開発を行なっている場合、コミュニケーションのギャップを防いでくれたりします。 Strutsならできるとか、Strutsだからこの辺の実装を気をつけなきゃとかですね。

  • lv4u
  • ベストアンサー率27% (1862/6715)
回答No.1

>>Strutsのようなフレームワークが存在するのはなぜでしょうか? MVCの役割は果たせたとしても、開発工数が膨大になる、整合性がとりずらくて、仕様変更が大変ってことで、フレームワーク使われてきたのだと思います。 まあ、早い話が、開発をできるだけ早く、楽に進めるための道具ということでしょう。

関連するQ&A

  • Strutsなどのフレームワークが必要な開発って

    JAVAを勉強している者です。 これまでJSPやサーブレットを使って、ある程度のシステムが作れる程にはなったのですが、フレームワークの事が気になっています。 少し「Struts」の勉強をしてみましたが、使いづらさと、表示画面への 柔軟性の無さなど、良い面が見つかりませんでした。 また、HTMLベースのソースコードも、フレームワーク独自の形があっ たり、TomcatなどJAVA側のバージョンアップで不具合が生じる可能性 なども、耳にしました。 ●そこで思ったのは、フレームワークを使う状況というのは、次の様な 時なのではと思っています。 ・エンジニアのレベルが、時間さえあれば、一人でJSPやサーブレット  を使ってシステムを作り上げる人と、「if」文や「for」文などの  本当の基礎しか知らない人が混在した開発環境の時。 ・開発プロジェクトで、開発人数が多く(十数人など)大規模なシステ  ムで、柔軟性や工期短縮よりエンジニアの管理をする必要がある時。 ●逆にこんな時には必要がないと考えています。 ・携わる開発者が、一人でサイトを作れるレベルであり10人以内程に  よる規模のシステム作成時。 ・表示画面用のファイルと、他のプログラムファイルを分ける事 (MVC)を意識しすぎる事より、システム変更への柔軟性や、工期が  早くなる事が分かった時。 ・エンジニアのやりがいを引き出す為。 ※個人的には、入力画面はともかく、出力結果などをMVCにこだわると  あまり良い作成が出来ない気がしています。  また、出力画面と処理用プログラムのファイルを分けた場合には、  ソースの確認や編集が行いづらくなります。  ただ、フレームワークを使わない時は、事前にエンジニアどうしで、  一定の関数を使う事を基本条件にすると便利かもしれませんね。 (例えば、~本に載っている関数を使用する等)  もし決まった関数以外で他の関数を使う時は、他のメンバーの了解  を得る等のルールがあると良いかもしれません。  (Eclipse関係の入門書とプラスαの関数で大抵の事は出来るのではと思っていますが...)  多分こうした方が、フレームワークを使うより、エンジニアのやりが  いも向上するし、結果的には効率も上がりそうな気がしています。  また、上記のフレームワーク条件も、完全にそのようにしなければ  ならないのではなく、状況や必要に応じて判断することが大切なの  ではと思っています。  もし、他にフレームワークのメリット・デメリットがありましたら  教えていただけましたらと思っています。

  • MVCモデルを学ぶには?

    サーブレットを勉強しています。 ・コードの設計を勉強したいと思い、MVCモデルを学びたいと考えているのですが、お勧めの書籍などありましたら、教えていただけますか? ・いろいろ調べている過程で、Strutsフレームワークというものがあると知ったのですが、MVCモデルや設計を学ぶには、まずこういったフレームワークを勉強した方がいいのでしょうか? よろしくお願いします。

    • ベストアンサー
    • Java
  • どんなフレームワークが良いでしょうか?

    どんなフレームワークが良いでしょうか? Java言語を用いた画面が4つぐらいのWebシステムを作成しようとしています。 下記の環境はほぼ決まっています。 OS:Windows XP 言語:Java 1.6 APサーバ:Tomcat 6.0 開発ツール:eclipse 3.4 DB:HiRDB 8 サーブレットとJSPについてはある程度知識がありますが、 フレームワークについてはほとんど知識がありません。 (Struts1のシステム開発を少しだけ手伝ったことがあるぐらいです。) データベースアクセスについてもプログラム内にSQL文を自分で記述する 初歩的なやり方でしか経験がありません。 出来ればフレームワーク初心者でも仕組みがわかりやすいフレームワークで 作成しようと考えています。 フレームワークの組み合わせによってはXMLだらけになって 管理が大変だという記述も見ました。 フレームワークを知らない自分がいろいろ試すより、 これまで皆さんが用いた様々なフレームワークについてご意見を頂きたいです。

    • ベストアンサー
    • Java
  • JAVAの各フレームワークの比較

    (カテゴリに少し迷いましたが。。) お聞きしたいのはJAVAのフレームワークのパフォーマンスについてです。 MVCそれぞれのフレームワークがあるとは思いますが、  よく使われている代表的なもので Seaser2系 Spring Flamework系 Struts1,2 だと思いますが、 それぞれにおいて、ポイントはフレームワーク自身のメモリの使用量や速度、トータルのパフォーマンス等の (プログラミングの方法によるところはあると思いますが)比較している情報、またはサイトでもいいので 教えていただければと思います。 よろしくお願いします。

    • ベストアンサー
    • Java
  • JSPとフレームワーク

    初歩的な質問ですが、素通りせず回答お願いします。 JSPでWebアプリケーションを作成するため JSPの勉強をしようと考えていますが、StrutsやHibernateなどの フレームワークの勉強も必要でしょうか? ※ちなみにJava初心者です(余談)。 どなたかご教授ください、お願いします。

    • ベストアンサー
    • Java
  • JavaBeans,JSP, Servlet(MVC)のみを使った開発って本当に業務で行われているの?

    こんにちは、私がWeb技術を勉強するときによく使う本として、Sun教科書Web Component Developer(試験310-080の対策本なのですが、おそらく現在売っているものより1バージョン古いです)という本があります。 この本には,webのMVCアーキテクチャは以下のように 設計されると記載されています。 サーブレット:Controller(システム処理の制御) JSP :View (画面) JavaBeans :Model (ビジネスロジック) しかし、実際の業務でビジネスロジックがJavaBeansのみで行われているシステムはあるのでしょうか?JavaBeansの定義としては、getXXXやsetXXXアクセス、またコンストラクタが引数をもたずpublicなどと ありますが、これを無視した普通のJavaクラスもビジネスロジックに使われているのではないでしょうか? EJB, Strutsを使わない開発環境でという条件付で、どなたか業務経験のある方、この疑問に答えていただけないでしょうか?

  • Web開発の業務内容

    Web開発に興味があるものです。 Web開発というとサーブレットとJSPがあるという事で、Javaの勉強の後 サーブレットとJSPについての初心者本を数冊見てみたのですが、内容が かなり重複していました。 実際Web開発の業務内容も本に載っているような事が主で、そんなに広範囲ではないのですか? ちなみにStrutsなどのフレームワークを用いたWeb開発は除きます。 また、実はこのフレームワークがキモだったりするのですか? ご教授願います。

  • PHPフレームワーク環境でのSmartyの必要性

    PHP でシステムを開発する際ですが、恐らく何かしらのフレームワークを利用した場合は大半だと思います。そう言った時にテンプレートエンジンの Smarty を合わせて利用するかどうか意見が別れる時があります。 PHP でフレームワークが今ほど使われていなかった大昔は、素の PHP 実装 + Smarty で、ロジックとテンプレートを分離する流れがありました。 しかし、現在利用されるほとんどのフレームワークでは当たり前のように MVC の思想で構成されており、ロジックとテンプレートは初めから分離されています。 そう言った状況の中、Smarty を各フレームワークと連携してテンプレートエンジンとして利用する必要がどれほどあるのか、判断に苦しみます。 皆さんはどう考えるでしょうか?

    • 締切済み
    • PHP
  • 静的ページからのサーブレット起動について

    今、JSPとサーブレットの勉強を行っております。 サーブレット側でデータを取得して JSP側で表示を行いたいと思っているのですが フォームアクション等を行わずに、JSP⇒サーブレット⇒JSPと 実施する事は可能でしょうか? URLアクセス ⇒ JSPからサーブレットの処理を呼び出し ⇒ サーブレットから クラスを利用してデータを取得 ⇒ JSPへデータを渡して表示   というように、URLアクセスのみで一連の処理を行いたいです。 サーブレットからJSPにセッション経由でデータを渡して表示する事や JSPからクラスを利用する方法では成功していますが できるだけMVCモデルに準拠した方法で行いたく思っており かつ、コントローラとしてサーブレットを使ってみたくて このような事に挑戦しております。 可能かどうかだけでもわかると非常に有難いですので ご存知の方、どうかよろしくお願い致します。

    • ベストアンサー
    • Java
  • webアプリケーション開発でおすすめのフレームワーク

    今までWebアプリケーション開発ではstrutsしか使用経験がありません。 struts以外でJavaでのWebアプリケーション開発でおすすめのフレームワークはありませんか? 開発が簡単になれば、フレームワークやJSPのタグ仕様などこだわりはありません。 開発アプリは掲示板のようなユーザから情報をもらってデータベースに格納して、そのデータベース情報を再度表示するような簡単なプログラムです。

    • ベストアンサー
    • Java

専門家に質問してみよう