34

JSP と速度のどちらが優れているか - パフォーマンス - 使いやすさ - 再利用可能なコンポーネントの作成の容易さ - オープン ソースのサード パーティの可用性 - IDE サポート

4

8 に答える 8

19

速度の利点:

  • ビューとビジネス ロジックの厳密な分離
  • グラフィックデザイナーが理解できるシンプルな構文
于 2009-03-04T10:59:05.893 に答える
11

以下は Freemarker に関するものですが、比較はおそらくまだ関連性があります。

これら 2 つのテクノロジの開発のこの時点で、どちらかを選択する主な理由は次のとおりです。

  1. あなたが必要とする特定のものがありますが、それは一方にあり、もう一方にはありません
  2. ビューの開発者が Java スクリプトレットを JSP ページに挿入できないようにしたい
  3. 開発者は、どちらか一方の方が快適です

あまり影響がないように思われる理由:

  1. スピード。典型的な Java EE アプリには非常に多くのレイヤーがあり、ビュー レンダラーがかかる数ミリ秒よりもはるかに大きな影響を与えます。実際、これは、アプリのパフォーマンスが標準以下である場合に取り組む最後のレイヤーである可能性があります。
  2. IDE サポート。JBoss Tools は Freemarker エディターを提供し、JSP ツールはよく知られています。
  3. 構文。JSP 2 と Freemarker は、EL と JSTL により、多くの基本操作の構文が実質的に同じです。

フリーマーカーの例:

<#list foos as foo>
  <tr>
     <td>${foo.field1}</td>
     <td>${foo.field2}</td>
     <td>
        <#list foo.childObjects as child>
           <#if child.name == 'bar'>
              ${child.value}
           </#if>
        </#list>
     </td>
  </tr>
</#list>

JSP-EL-JSTL 例:

<c:forEach items="${foos}" var="foo">
  <tr>
     <td>${foo.field1}</td>
     <td>${foo.field2}</td>
     <td>
        <c:forEach items="${foo.childObjects}" var="child">
           <c:if test="${child.name == 'bar'}">
              ${child.value}
           </c:if>
        </c:if>
     </td>
  </tr>
</c:forEach>
于 2010-12-29T19:15:14.423 に答える
8

Velocity またはそれ以上のFreeMarkerJSP では、pojo 階層のランタイム ディスパッチを行うことができず、すべてが静的に型付けされているため、面倒です。さらに、多くの JSP2.0 カスタム タグ (たとえば 100 ~ 150 以上) を作成すると、依存関係を効率的に解決する Jasper の非効率性により、開発と展開のサイクルが大幅に遅くなります。

一方、JSP には優れたツール サポートがあります。

遅い JSP コンパイルの参照:

http://www.mailinglistarchive.com/users@tomcat.apache.org/msg10786.html

http://marc.info/?l=tomcat-dev&m=119377083422720&w=2

于 2009-03-04T10:51:19.347 に答える
3

テンプレート エンジンを使用することに焦点を当てます。

それはあなたが本当にやりたいことによります。サーブレットを Velocity (または FreeMarker) と組み合わせると、ロジックとプレゼンテーションが非常に適切に分離されます。HTML (またはその他の出力形式) が正しいかどうかを判断するには、テンプレートを評価する必要があるため、テンプレートのテストはより困難です。JSP の場合、これは選択した IDE で実行できます。

テンプレートの大きな利点は、テンプレートをアプリケーションの外部に完全に保存し、アプリケーションの実行中に更新することさえできることです。これは、JSP で行うのが少し難しいことですが、ホット デプロイはかなり近くなります。

テンプレート エンジンのインクルード機能を使用して、再利用可能なコンポーネントを作成できます。

于 2009-03-04T10:55:35.217 に答える
0

Velocity がすべての面で JSP と競合できるかどうかはわかりませんが、Velocity の方が高速で、はるかに簡単です。Velocity の効率は、複雑な Web ページの場合は 35 ~ 45% 向上します。削減される可能性がありますが、それでも 5% 向上します。 JSPより。

于 2009-12-19T11:16:12.943 に答える