Java EE 6対Spring 3スタック[終了]


90

現在、新しいプロジェクトを開始しています。テクノロジーを選ばなければなりません。軽いものが必要なので、EJBやSeamは必要ありません。一方、私はJPA(Hibernateまたは代替)とIceFacesでのJSFが必要です。

TomcatにデプロイされたSpring 3のそのようなスタックは良い選択だと思いますか?または、Java EE 6 Webアプリケーションの方が優れているでしょうか。申し訳ありませんが、Java EE 6は新しい技術であり、まだ十分に文書化されていません。TomcatはGlassfish 3よりも保守が簡単なようです。

あなたの意見は何ですか?何か経験はありますか?


8
光が欲しいなら、IceFacesの代わりにprimefaces.org使います。それははるかに高速で無駄のないAPIです。
Shervin Asgari

1
現在、JEE6を提供しているGlassfishだけがあります。ResinはJEE6 Webプロファイルをゆっくりと実装しています。これは、必要なものによっては十分な場合があります。
するThorbjörnRavnアンデルセン

3
@ThorbjørnWebプロファイルのみが必要な場合は、GlassFish v3 Webプロファイルを使用できます。
Pascal Thivent、2010年

@ Pascal、Glassfishができないと言っているのではなく、Webプロファイル(私ができる)で生きられるなら、JEE6を取得するGlassfishに代わる選択肢がすぐに存在することを詳述しました。
するThorbjörnRavnアンデルセン

@Thorbjørn@Thorbjørnを削除するのを忘れた:)コメントは、「フルスタック」GFv3を使用することが唯一のオプションであると想定していると思われるOPを対象としたものでした。
Pascal Thivent、2010年

回答:


101

軽いものが必要なので、EJBやSeamは必要ありません。

EJB3以降にEJBが重くなる理由を説明してもらえますか?私たちが2004年にはもういないことをご存知ですか?私はあなたの光の定義とあなたの議論を本当に読みたいと思います(そして私はいくつかの確かなことが言えると確信しているので、喜んで私の答えを更新します)。

一方、私はJPA(Hibernateまたは代替)とJSFとIceFacesが必要です。

JSF 2.0、JPA 2.0、Bean Validation、EJB 3.1 Lite、CDIなどを含むJava EE 6 Webプロファイルはこれに最適であり、GlassFish v3 Webプロファイルを使用して、Java EE 6 Webプロファイルで構築されたアプリケーションを実行できます。 。

TomcatにデプロイされたSpring 3のそのようなスタックは良い選択だと思いますか?または、Java EE 6 Webアプリケーションの方が優れているでしょうか。

ええと、独自のコンテナ(Spring)ではなく、独自のプラットフォーム(Java EE)でコードを実行するというアイデアが気に入っています。そして、私はJava EE 6で十分だと思います(そしてこれは、冒涜、EJB 3.1(Lite)、JPA 2.0、JSF 2.0、CDIキックアスです)。私はJSFに懐疑的でしたが、再確認しました。CDIを使用したJSF 2.0は非常に異なるため、比較することもできません。そして、もしあなたがCDIを見ていないなら、それが素晴らしいことを私に教えさせてください。

申し訳ありませんが、Java EE 6は新しい技術であり、まだ十分に文書化されていません。

Java EEは、かなりよくドキュメント化されているように見えます。これは無料のクレームのようです。そして、私を信じるかどうか、私は、 Java EEのが容易になっている間春が複雑化を見つけるために開始します。

TomcatはGlassfish 3よりも保守が簡単なようです。

何かやってみましたか?特定の問題に直面しましたか?繰り返しますが、これは無料のクレームのようです。


2
Drools、GraniteDSなどを使用してJBoss上のEJB3.0 + Seamで開発された評価者の大きなプロジェクトの直後です。Seam rocksに同意します。しかし、開発の50%を再配備、サーバーの再起動、配備エラー、一時ディレクトリのクリーニングなどに費やしました。一方、JBoss Toolsのパフォーマンスは本当に悪かったです(つまり、ctrl + spaceと10sがハングします)。これはSeamフレームワークから借用したように見えます。サーバーに関しては、conecion pools、jndi、jms、jmx、ear deplymentについて考えたくありません。WARを有効にして数秒で実行するための何かが必要です。
Piotr Gwiazda

6
@peperg Gaving KingはCDI(WeldがRI)の仕様リードであるため、SeamとCDIの類似点を見つけることができます。しかし、CDI!= Seam、Java EE 6!= Seam、あなたの認識は間違っています。GlassFish v3 Webプロファイルを試してみてください。驚かれることでしょう(接続プールが定義されると、それほど心配する必要はありません)。
Pascal Thivent、2010年

8
EJBは重いと人々が言っ​​ているのはどういうことでしょう。私はEJB v3.1を使用していますが、これらは単に注釈付きのpojoです。彼らが重いと言うとき、彼らはパフォーマンスで何を意味するのですか?
arg20 '29年

13
@ arg20-これは確かに大きな問題であり、Pascalはこの文脈で「重い」(または「軽い」)という用語が何を意味するのかを正しく説明するように求めます。おそらくそれは、SpringとEJBの間の古い対立の残りです。当初、EJB1&2は概念的に重かった。リモーティングBeanとステートフルBeanの過度の強調、途方もなく冗長なXMLデプロイメント記述子、および実装する必要のある非常に大量の必要なインターフェースにより、非常に悪い評判が与えられました。EJB3(2006)でこれは完全に変更されましたが、2004年にEJBをSpringに向けて辞めた人々は、その2004とEJB2が最新であると考えることがあります。
Arjan Tijms、2011

7
Springの概要ページでは、「J2EEの方が使いやすいと信じています」と書かれていることに注意してください。彼らは「Java EE」ではなく「J2EE」という用語を使用していることに注意してください。これはJava EE 5のリリース以降の正しい名前です(私は思う)。これは...それらについてあまり語る
ビトー・E.シルバソウザは、

32

JavaEE6は使用していません。

ただし、JavaEEおよびEJBの以前のすべてのバージョンにひどく打ち負かされており、デジュール標準だけでなく、デファクトスタンダードとしての地位を確立するまでは信頼できません。現在、Springは事実上の標準です。

一度私をだまして、あなたに恥を。私を二度バカにして、恥をかいてください。EJBを3回だまして。

Springは専有であると主張する人もいます。JavaEE仕様のベンダー実装は、それ以上ではないにしても、同じように独自仕様であったと私は主張します。

最近、一連のJavaアプリケーションをJBossからWeblogicに移行するという大きな転換を経験しました。すべてのSpring / Hibernateアプリは、必要なライブラリがすべて組み込まれているため、修正なしで移植されました。JPA、EJB、およびJSFを使用するすべてのアプリは、移植が困難でした。アプリサーバー間でのJPA、EJB、JSFの解釈の微妙な違いにより、あらゆる種類の厄介なバグが発生し、修正に永久に時間がかかりました。JNDIネーミングのような単純なものでさえ、AppServer間で完全に異なっていました。

Springは実装です。JavaEEは仕様です。それは大きな違いです。仕様が100%気密で、ベンダーがその仕様を実装する方法にまったく余裕がない場合は、仕様を使用したいと思います。しかし、JavaEE仕様はそうではありませんでした。多分JavaEE6はもっと気密ですか?知りません。WARにパッケージ化できる数が多く、AppServerライブラリへの依存度が低いほど、アプリケーションの移植性が向上します。それが、結局のところ、私がDot-NETではなくJavaを使用する理由です。

仕様に気密性があったとしても、アプリケーションに含まれるすべてのテクノロジスタックをそれに合わせてアップグレードしなくても、appserverをアップグレードできると便利です。JBoss 4.2からJBoss 7.0にアップグレードする場合、すべてのアプリケーションに対する新しいバージョンのJSFの影響を考慮する必要があります。Spring-MVC(またはStruts)アプリケーションへの影響を考慮する必要はありません。


1
まさに、これは大きな理由です。
パレスチ

1
私はこの推論に同意します。私が直面した多くの問題は、仕様のコンテナーの実装への依存関係にありました。組み込みライブラリの苦痛が大幅に軽減されます。仕様の哲学的な好み以外では、議論するのは難しい。
Peter Porter

素晴らしい推論。しかし、これはJEE 6の後でもあなたの経験ですか?App Serverの仕様の実装はまだ苦痛である可能性があることを理解しています。したがって、App Server 1によって実装された同じ仕様は、App Server 2ではなく、シンプルで効率的かもしれません
Soumya

1
+1。また、アプリケーションサーバーは、Spring / Hibernateが開発者の管理下にあるOperationsのスケジュールに応じて変更されます。大企業の環境では、appserverのアップグレードははるかに大きな問題です。
Nathan Hughes

Dot-Netについてはあまり理解できませんでした。これはSpringと同じくらい所有物であり、Microsoftである単一のベンダーによって開発されています。説明していただけませんか?
user1339260 2016年

23

それは問題ではありません。Java EE 6は十分であり、そこにプロファイルがあるため、「重い」わけではありません。Webプロファイルを使用するだけです。

個人的には、春が好きです。しかし、私はJava EE 6に対する合理的な議論を使い果たしています:)

(コメントで気づかれたように、必要なコンポーネントによっては、RichFacesICEfacesPrimeFaces、またはその両方を試してみてください)。


1
したがって、質問は次のとおりです。「フルスタックのGlassfishアプリケーションサーバーを使用しても、Webプロファイルを使用するのは理にかなっていますか?」
Piotr Gwiazda

1
@peperg Webプロファイルだけが必要な場合は、GlassFish v3 Webプロファイルを使用してください。私の回答を参照してください。
Pascal Thivent、2010年

ここにいくつかの引数を掲載しました。stackoverflow.com/ questions / 2822812 / spring-3-0-vs-j2ee-6-0 / … 、「プロダクションに取り込む方法」の観点からではなく、ですから多分それはあなたの議論を少し満たすでしょう。
Oliver Drotbohm

@ peperq、JBoss 6は休暇中にリリースされました。
–ThorbjørnRavn Andersen、2011

17

最近、私のクライアント割り当ての1つに、Spring Stackとカスタムフレームワークスタックの比較とJava EE標準の評価が含まれていました。1か月の評価とプロトタイピングの後、私は満足しているだけでなく、Java EE 6機能セットに驚かされました。2011年以降の新しい「エンタープライズ」プロジェクトアーキテクチャについては、Java EE 6とSeam 3のような潜在的な拡張機能、または今後のApache JSR299拡張プロジェクトを使用します。Java EE 6アーキテクチャは合理化されており、過去数年で進化した多くのオープンソースのアイデアの中で最も優れています。

イベント管理、コンテキストとDI、インターセプター、デコレーター、RESTful Webサービス、組み込み可能なコンテナーとの統合テスト、セキュリティなど、すぐに使える機能を検討してください。

私の結果のほとんどは、あなたが役立つと思うJava EE 6の主要な概念を説明する私のブログで公開されています。

もちろん、フレームワークを選択するための厳格なルールはありません。Java EE 6は、豊富な会話型セッション状態を必要としない、より単純な「Webサイト」には肥大化する可能性があります。GrailsまたはPlayを選択することもできます。フレームワーク。しかし、会話形式のWebアプリケーションの場合、Java EE 6が適切でない理由について、これ以上の議論はありません。


Java EE 6はひどく遅く、GlassfishとGlassfishのWebプロファイルは、Jetty / Tomcat /その他と比較するのが非常に遅いです。テスト、埋め込み可能なコンテナも非常に遅いです。
パレスチ

15

さて、しばらくしてから、スタックの経験があります:

  • Java EE 5 + Seam + GraniteDS + Flex
  • Spring 3 + Vaadin(GWT上)
  • Spring 3 + JSF 2.0(PrimeFaces)

私の結論は:

  • Spring 3はSeam(ほとんどJava EE 6)よりもはるかに単純で、TomcatとJettyで動作します!(mavenプラグインで開発するためのJettyは宝物です)。
  • 私はFlexが大好きです(実際には長い間Flex開発者でしたので、偏見があります)。リッチなインターフェイスが必要で、FlashBuilderを購入できる場合は、これを使用しますが、Spring + GraniteDSまたはBlazeDsバックエンドを使用します。FlashBuilderを購入できない場合でも、時間を無駄にしないでください。
  • Vaadinは素晴らしいです。開発プロセスはFlexよりも簡単ですが、HTMLの混乱なしに簡単にリッチアプリケーションを作成できます。単一のJS行は記述しません。CSSが必要なだけです(Flexでも必要です)。したがって、アプリケーションインターフェイスがデスクトップアプリケーションのように動作し、Flexを使用できない(または使用したくない)場合は、Vaadinを使用します。警告!Vaadinは、ブラウザーにとって大きなJSオーバーヘッドを持っています。
  • より単純なWebサイトのようなアプリケーションを作成する場合は、JSF2.0を使用します(上記のSpringバックエンドを使用)。HTMLと戦う必要があります(私はそれが嫌いです)。リッチなインターフェースの作成はVaadin(特にレイアウト)よりも難しくなります。あなたは遅いブラウザ/ compuetrsのための軽量のHTMLを取得します。私はPrimeFacesが好きです-簡単で十分に文書化されています。2位はIceFacesです
  • (ブラウザに適合するエンタープライズアプリケーションを作成するのではなく)HTMLに命を吹き込む必要があるWebサイト(Webアプリケーションではない)を作成する場合は、Wicket(コンポーネントベースを好む場合は姿勢をプル)またはSpringMVC(テンプレートベースを好む場合)を使用します。 、態度を押します)または単にプレイを使用してください!フレームワーク。豊富なデータベースのコンポーネントを作成することははるかに困難になりますが、HTMLの各タグを制御できることを覚えておいてください(HTML /グラフィックデザイナーはそれを気に入るはずです)

21
あなた自身の答えが質問とどのように関連しているかはわかりません...
Pere Villega '18

1
-1 Java EE 6についても触れられていないため、この回答を受け入れることは非常に不適切と思われます。さらに、@ Pascal Thieventの十分に検討された(およびはるかに高い投票数)で提起されたポイントには対応していません。回答。
user359996 2012

1
実際の質問はもっと有効ではありません。JEE 6は現在非常に成熟しており、質問されたのは2010年3月ではありませんでした。
Piotr Gwiazda 2012年

@PiotrGwiazdaそれ以降、JEE 6はどのように変化しましたか?人々は戻って、それをより恐れていたが、それは基本的に同じJEE 6だった
ymajoros

1
私はJEE6実装がより成熟していて利用可能であることを意味しました。JBoss 7は安定しており、より多くの実装が利用可能です。コミュニティも大きくなりました。より多くのツールとライブラリがJEE 6スタックをサポートするようになりました。
Piotr Gwiazda 2012

8

アダム・ビエンのエンタープライズJava未来を読んでください...明確です(Java EEのSpringとVice Versaの有無)が含まれている場合と含まれていない場合。私はいくつかの理由でSpringを選択しますが、以下はその1つです(投稿からのコメントの1つを再現しています)

「あなたが話しているJava EE 6サーバーがわかりません。Glassfish認定およびTMAX JEUSがあります。Java EE 6に準拠したバージョンのWebSphere、WebLogic、JBossなどが本番になり、実際のアプリケーションで使用できるようになるまでには、かなりの時間がかかります(数年後)。Spring 3はJava 1.5とJ2EE 1.4を必要とするだけなので、ほとんどすべての環境ですぐに使用できます。


6
ほぼ1年後の現在、Java EE 6をサポートするJBoss AS 6が現在本番環境で使用されています。
Arjan Tijms 2011年

8

私の意見は、他の人には言及されていないことに基づいています。つまり、私の仕事のコードは数十年(文字通り)存続する傾向があるため、メンテナンスは私たちにとって非常に重要です。独自のコードと使用するライブラリのメンテナンス。私たちが管理する独自のコードですが、私たちが使用するライブラリは、上記の数十年以上の間、他のユーザーによって管理されてます。

簡単に言えば、これを実現する最良の方法は、Sun仕様のオープンソース実装を生のJVMまで使用することであると結論付けました。

オープンソースの実装のうち、Apache Jakartaはライブラリを維持することが証明されており、最近SunはGlassfish v3の高品質な実装を作成するために多くの作業を行いました。いずれにせよ、すべてのモジュールのソースも用意されているため、他のすべてが失敗した場合でも、自分で保守できます。

通常、Sunの仕様は非常に厳密であり、仕様に準拠した実装は簡単に交換できます。サーブレットコンテナをご覧ください。

この特定のケースでは、JavaServer Facesを調べることをお勧めします。これは、JavaServerがJava EE 6の一部であるため、非常に長期間にわたって利用および保守できるからです。次に、MyFaces Tomahawkを使用して、いくつかの便利な追加機能を提供することを選択しました。これは、ジャカルタプロジェクトです。

JBoss Seamやその他に問題はありません。彼らの焦点は、私たちにとって非常に重要なメンテナンスの問題に向けられていないというだけです。


これは、Java EE 6でのJava ServerFaces 2は、我々はそれが非常に可能なフレームワーク(ただし、ビットXMLの重い)であるJSF 1とするためにトマホークを必要なもの、それ自身で行うことができることが判明した
するThorbjörnRavnアンデルセン

素晴らしい点は、残念ながら人々はソフトウェアが何十年も生き続けるように作られていること、そして長期的なサポートが重要な鍵であることを忘れがちです。
timmz 2015

6

Springを既に使用している場合は使用できますが、新しいプロジェクトの場合、何がポイントですか?私はJava EE 6(ejb3、jsf2.0など)を直接使用します

クライアントがFlexで問題ない場合は、それを試してください。BlazeDSまたは同様のものを使用します-mvcは使用しません。その部分(サーバーとクライアント間でのデータ交換)により多くの時間を費やす可能性がありますが、両方を完全に制御できます。

ブラウザを強制終了したい場合を除き、Vaadinを使用しないでください。さらに、ページが複雑になると、コードを回避するためにより多くの時間を費やすことになります。また、考え方を完全に変更する必要があり、標準のフロントエンド開発について知っているものはすべて無駄になります。HTMLやJSを使用する必要がないという主張はあまり意味がありません。使用しなくても、それを知る必要があります。最終的にはHTMLとJSにレンダリングされます。次に、それをデバッグしてみてください-簡単なもののために数日があることを確認してください。さらに、html / jsを知らないWeb開発者は想像できません。

なぜ人々がJava EEを直接使用する代わりにこれらの抽象化をすべて試しているのか理解できません。


5

2010年にEJBがヘビーウェイトであることに疑問が残るのはなぜですか?人々はJava EE技術で更新されていないようです。試してみるだけで、Java EE 6で物事がどのように簡素化されるのか、うれしく思います。


4

質問に対する答えは、プロジェクトの要件によって異なります。メッセージキュー、コンテナー管理グローバルトランザクションなどのJava EE機能が必要ない場合は、tomcat + springを使用します。

また、経験から、多くのWebサービスの統合、スケジューリング、メッセージキューを必要とするプロジェクトは、Java EEスタックの一部を使用するのが最善であることがわかりました。良い点は、アプリケーションサーバーで実行されているJava EEモジュールと統合できるSpringを使用することです。

Java EE 6は以前のリリースとは大きく異なり、すべてが非常に簡単になります。Java EE 6は、多様なJavaコミュニティからの最高のアイデアを組み合わせています。たとえば、SpringフレームワークのRod Johnsonは、Java EE 6でのDependency Injection JSRの作成に積極的に関与していました。JavaEE 6を使用する利点は、ベンダーサポートなどのために一部の組織で重要になる可能性がある標準

GlassFish v3はJava EE 6をサポートしており、非常に軽量で起動が非常に高速です。私は開発にGlassfish v3を使用しており、設定は本当に簡単です。サーバーをグラフィカルに管理できる、非常にユーザーフレンドリーな管理コンソールが付属しています。

GlassfishV3とJSF 2を使用している場合は、Java EE 6のCDI機能を利用して、JSFで簡単に会話(ウィザードのようなページ)を作成できます。

そうは言っても、Java EE 6を使用するには、新しいAPIを学ぶ必要もあります。利用可能な時間枠によっては、それはあなたにとって最良の選択ではないかもしれません。Tomcatは古くからあり、tomcat + springの組み合わせは多くのWebプロジェクトで採用されています。つまり、多くのドキュメントやフォーラムが存在しています。


最初の文に同意しません。JMSを使用するかどうかではありません。そして、JSR-330がJava EE 6でそれほど重要であるとは思いません(政治的な理由からもっと重要です)。重要な部分はJSR-299(CDI)です。少なくとも、これは私の意見です。
Pascal Thivent 2010年

JSR330に関係するいくつかの政治があったことに同意します。それでも、DIをJEEのみのテクノロジーにするのではなく、Java(SEまたはEE)での依存性注入に共通の基盤を提供するため、非常に重要です。また、SpringフレームワークとGoogle Guiceによってサポートされているため、Spring / GuiceコードをJEE6に簡単に移植できます。JSR299は、JSR330の機能を拡張するようにも設計されています。JEE6のWebアプリケーションの場合、JSR299は絶対に重要です。これら2つのJSRのおかげで、JEE6とSpringはどちらも非常に類似したプログラミングモデルを持っています。コメントありがとうございます!
Raz

3

私はSpringとJava EE 6の両方で働いたことがあります。私の経験から言えることは、古くからあるJSPまたは独自仕様のFlexを使用している場合は、Springを使用していれば安全です。

ただし、JSFを使用する場合は、Java EE 6に移行する必要があります。JavaEE 6を使用すると、Faceletsと標準化されたスクリプトライブラリおよびコンポーネントライブラリに移行します。スクリプトの非互換性とコンポーネントライブラリマトリックスはなくなりました。

Spring MVCについては、プロジェクトが大きくなりすぎない限り、問題ありません。それが巨大なエンタープライズアプリケーションである場合は、Java EE 6に固執します。それが、独自のコンポーネントライブラリとリソースバンドルを整然とした方法で維持できる唯一の方法だからです。


1
コメントありがとうございます。私の選択は春+ヴァーディンでした。
Piotr Gwiazda 2010

3

Java EEフルスタックが必要な場合は、GlassFish 3.1をお勧めします。Java EE 6(JBoss 6、WebLogic 10.3.4)の一部またはすべてを実装する他のJava EEコンテナーと比較して非常に迅速に起動し、再デプロイには数秒かかり、ほとんどすべての構成を慣例に従って構成でき、非常に使いやすいです。

何か「軽い」が欲しいなら、Apache Tomcat 7.xを必要な機能でカスタマイズできます。私は次のライブラリで多く使用しました:Weld 1.1.0(CDI)JPA 2.0(Hibernate 3.6.x)-リソースローカルトランザクションのみJSF 2.x(Mojarra)RichFaces 4.0 BIRTランタイム

過去10年間(私は初期のEJB、JSF、およびWebテクノロジーに苦しんでいます)、Java EE開発者でした。JavaEE 6は非常に簡単で、適切に結合されており、現在のハードウェアはスムーズに動作するため、やる気のあるSpringが無効になっているという元々の理由があります。


1
私はあなたの答えが好きです。非常に合理的です。私が質問を投稿したとき、JEE6は非常に若く、Tomcat 7はまだ完成していませんでした。「やる気を起こさせたSpringがもはや有効ではない元の理由」-それは本当ですが、CDIを使用するJEE6は、対応するのにしばらく時間が必要です。例:JavamelodyモニタリングはSpringとGuiceで利用できます(それなしでアプリケーションを監視することは想像できません)。EHcacheはSpringで使用できます(つまり、メソッドの結果をキャッシュすることを意味します)。アスペクトプログラミングなどの多くの機能は、Springでさらに簡単です。サードパーティのライブラリやフレームワークの多くは、Springと簡単に統合できますが、まだJEE6とは統合できません。
Piotr Gwiazda、

1

私はまだ春を好みます。

そして私はJSFを渡します。死んだ技術だと思います。Spring MVCがより良い代替手段となります。したがって、フレックスになります。最初のXMLサービスを契約の観点から考えれば、バックエンドをUIから完全に切り離すことができます。


1
私はJava + FlexとPHP + Flexを使用していくつかのアプリケーションを作成しましたが、それがリッチなインターフェースの最良のソリューションであることに同意します。しかし、このアプリケーションでは、私は、Flexを使用することはできません:( Spring MVCのが解決策ではありませんので、私は、しかし、いくつかの高レベルのインタフェースを必要とする私は、ループ内のいずれかの<tr> <TD>よりもソート可能なデータテーブルについて考えたい。。
ピョートルをグウィアズダ

1
@duffymo-flexが良い選択であるかどうか私は議論することができます。JSFは、特にrichfaces、primefaces、icefacesなどのライブラリを使用して、完全に死んではいません。
Bozho

1
IceFacesでは、メニューを作成し、ツリーを作成し、データグリッドがアクション、イベントを使用します。ページがリロードするのか、それともajaxリクエストなのかはわかりません。ソート可能なデータグリッドまたはajaxでロードされたツリーは、組み込みコンポーネントです。Spring MVCでは、HTML(テーブル、リストなど)を操作します。サードパーティのJavaScriptフレームワークを使用し、AJAXマジックを手動で作成する必要があります。私はFlexでそれをしたいのですが、それは私のものではなく、政治/ビジネスの決定です。
Piotr Gwiazda

1
私の現在の2つのJSFプロジェクトは間違いなく死んではいません;)そして、Flexを使用するよりも、RIAを構築するJSFの方法( "richfaces"の "rich"はそのためです)の方がはるかに満足しています。来週上場することさえある。
Bozho

2
なぜあなたがまだSpringを好むのか、Java EE 6がとても優れている理由を知りたいです。オープンプラットフォームで実行することは、Javaの将来にとって重要だと思いませんか。
Pascal Thivent 2010年

0

Glassfish v3とWeldがさらに成熟するまで待つことができない場合を除き、Spring + Tomcatをお勧めします。現在、CDI対応のアプリケーションでGlassFishを実行すると、メモリ消費/ CPU負荷にいくつかの問題があります。


0

すべてを読んだのではなく、Java EE 6のwar内でEJB3を使用できるようになり、TomcatでEJB3を使用できるようになったと思います(私はそう思います)。


はい、EJBをJava EE 6のWARにパッケージ化できますが、これはそのようなWARをTomcatにデプロイできるという意味ではありません。Webプロファイルを実装するコンテナーは必要ですが、Tomcatはそれを実装していません。実際には、Tomcatコミュニティーにそれを実装する計画はありません(old.nabble.com/Java-EE-6-Web-Profile-td27715793.htmlを参照)。しかし、GlassFish v3 Webプロファイルがあり、Resinがあります...
Pascal Thivent 2010


-3

SpringのTomcatをお勧めします。

  1. SpringはJSPのバッキングBeanを作成できます
  2. Springを使用して、JPAを通じてオブジェクトを永続化します

重い処理が必要ないため、Tomcatを選択することをお勧めします


1
「重い処理」?詳しく説明してもらえますか?私は興味がある。
Pascal Thivent 2010年
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.