0

私はMVCについて多くのことを読んできましたが、MVCの概念について明確に理解しているのか、最近アプリケーションを開発していないのかは本当にわかりませんすべてのロジックを実行していますか 3) いくつかのロジックを実行し、結果を返すために Java Bean と Java クラスを呼び出したサーブレット 4) クラスから返された結果に基づいて、結果が 1 の場合は画像を表示しています。次に、画像b 5)サーブレットPOSTメソッドでout.println()を使用しています-->完全な出力を書き込むために6)呼び出しを返した後のjspの関数は、サーブレットによって生成された出力によって必要なdivのinnetHTMLを設定します

出力サーブレットが生成しているテーブルは


インスタンス名|インスタンスの状態


いつかこのテーブルの表示を変更したい場合は、


インスタンスの状態|インスタンス名


上記の変更を行うには、サーブレットを再コンパイルして戦争を再展開する必要があります

それは本当にMVCですか?そして誰かがデータをJSONとして含むBeanのJSONストアオブジェクトを使用し、JSONオブジェクトをjspに返し、このオブジェクトを使用してjspでテーブルを構築することを提案しました!

これに関する指針は非常に役立ちます!!

4

3 に答える 3

0

MVC とは何かを簡単に見てみましょう。

MVC(Mode-view-controller )その名前が示すように、ソフトウェア アーキテクチャ パターンは、アプリケーションにhave its Model Classes (i.e domain models / DTOs) views (i.e can be JSP, JSON etc) and controller (i.e Servlet) to be as modularized as possible so that it encourages re-usability, loose-coupling between the different layers and Seperation of Concerns.

したがって、この背後にある重要なアイデアはencourage Seperation of Concerns. Say i want to change the view from JSP to freemarker view , if MVC is tighly followed , i should be able to accomplish the change with minimum to no impact to Controller layer (i.e Servlets)

これは、私の webapp でレイヤーが明確に分離されている場合にのみ実現できます。 If i had just scattered all the functions without regard to MVC like having views generated from the Servlet, or making service level calls like accessing the DB directly from the Controller etc is bad because any change in the view or the Database layer will cause massive changes at the Servlet .

あなたの質問に答えるために、your servlet should not directly produce the HTML output. Store all the objectsビューを生成しin Request Attributeaccess it in JSP Sevlet を再コンパイルすることは、 MVC に従わないという意味ではありません。MVC に従うことで、変更が最小限になり、1 つの場所にグループ化されるだけです。

ここでは、JSON の概念を削除し、わかりやすくシンプルにします このチュートリアルを進めてください。きちんとした MVC を実現する方法がかなり説明されています。

Jsp MVC チュートリアル。

を把握したら、JSON、AJAX、Asynchronous Request などのより複雑なものをいつでも追加できます。

于 2013-02-27T07:07:16.570 に答える
0

得られた ajax レスポンスに基づきます。

傾向のある画像を非表示または表示できます。

私が間違っていなければ、バイト[]を出力するout.printの代わりに画像リンクを取得するのはどうですか。

別のページにリダイレクトしたい場合は、レスポンスリダイレクトを使用してサーブレット自体からリダイレクトしてみてはいかがでしょうか。

于 2013-02-26T15:57:46.643 に答える
0

通常、再デプロイする必要があるかどうかは、開発環境によって異なります。変更を加えたときに自動的にビルドされる IDE を使用していて、使用している IDE からサーバーが実行されている場合は、war を再構築する必要はないかもしれません。いつでもソース コードを表示して、再デプロイが必要かどうかを確認できます。通常、バックエンド コードは再デプロイする必要があります。

于 2013-02-26T14:41:55.490 に答える