2

一部の実装では、jcr からデータを取得するための中間ストア/データ アクセス レイヤーとして機能する Java Bean クラスを使用する jsp を見てきました。

jsp は jcr api を介して jcr に直接アクセスできるため、これはなぜですか。

関心事の分離?データのメモリキャッシュ?

そもそも jcr api が作成されたときに、なぜそのようなパターンが存在するのか疑問に思っています。

4

1 に答える 1

3

スクリプトレットの使用は、小規模なインストールではそれほど問題にならないかもしれませんが、大規模なマルチ サイト プロジェクトでは問題になります。

UI コードとモデル/ビジネス ロジックを分離することで、保守が容易になり、プロジェクトでのコードの再利用が可能になります。また、レイアウトの変更もはるかに簡単になります。通常、この分離は、コンポーネント Bean を使用して JCR リポジトリにアクセスし、データを提供し、ビューのためだけに JSP を使用することによって行われます。

顧客がおそらく複数のサイトで大規模な UI の変更を必要としていると想像してみてください。スクリプトレットや UI コードと混同された JSP を変更するのは、特にそれらが多数ある場合は困難です。

OO の観点からすると、JSP とスクリプトレットを使用すると、継承と構成を使用できなくなります。スクリプトレットは抽象化できません。特に例外が発生した場合、Java Bean はスクリプトレットよりもデバッグが容易であり、Java Bean は単体テストが容易であることを経験しました。

于 2013-06-11T20:05:59.373 に答える