2016-07-20 10 views
0

私はJava EEアプリケーションを開発中で、MVCパターンに従って実装しようとしています。私は、MVC構造を実装するためにフレームワーク(例えば、Spring)を使用しません。私は自分のモデル、ビュー、コントローラーを書くだけです。MVCパターン、1つまたは複数のコントローラ/サーブレット?

すべての機能(例:LoginServlet、RegisterServlet)ごとに異なるサーブレットを使用してアプリケーションを実装し始めましたが、1つのコントローラ(サーブレット)ですべてのアプリケーションの機能を処理することができます。しかし、私はその結果として乱雑なコードを取得することなく、どのように起こるか理解していません。私は、リクエストがどこから来たのかを確認するために、複数のif/else文を持つサーブレット/コントローラを1つ持つことを考えています。結果は、巨大なdoPostまたはdoGetメソッドであり、多くのif/elseステートメントは悪い考えのように聞こえるでしょう。

要約すると、アプリケーションのすべての機能に異なるサーブレットを持たせて、悪い場合は、サーブレットを使用して巨大なメソッドを作成せずに同じことを達成するにはどうすればいいですか?

+0

ためのサーブレットのあなたが再発明ホイールにしたいのはなぜ?任意のフレームワークを使用しないことの正当な理由はありますか? –

+2

@ Sundararaj多分彼は正しいことをする方法を学びたいと思っていますか?彼は常にフレームワークに依存していて、実際に正しく学習することはありません。 –

+0

@Alexander、これは良い理由になる可能性があります –

答えて

-1

良い面と悪い主観的です。

通常、HTTPリクエストを受け入れ、URLを指定してコードを適切なハンドラにルーティングする1つのDispatcherServlet(別名フロントコントローラサーブレット)があります。

私はRESTとマイクロサービスが一歩進んで、複数のHTTPエンドポイントとして機能を公開していると思います。

これはJava EEのもう1つのケースであり、その解釈は時代遅れです。

私は、複数のRESTエンドポイントを使用してSpringでこれを行います。

+0

彼はどんなフレームワークも使いませんし、サーブレットを持っていれば助けてくれます –

+0

私はそれを理解しています。私はそれが以前に他人によってどのように行われたかの例を指摘しました。フレームワークなしでRESTとマイクロサービスを行うことができます。あなたがこれを落札した場合は、あなたはそれを元に戻すか、コメントの他に何かを投稿して、私たちがどのレベルの専門知識をあなたにもたらしているかを見ることができます。 "ブローアップサーブレット"?説明してください。 – duffymo

+0

@duffymoはマイクロサービスの部分には正しかったが、彼はRESTを手で言及したときに、彼が真剣であるか冗談であるかはわからないが:)しかし、はい、RESTは基本的なRESTfulな原則に従えば手作業でコード化することもできる。 –

-1

いいえ、論理的な方法でサービスを分割する必要があります。実際には、大きな論理部門でパッケージを分けてください。すべての認証フローを処理する例AuthenticationServet、RegistrationServlet、EShopServletなど

パッケージ

com.myapp.servlets.* 
com.myapp.models.jpa* 
com.myapp.models.(something)* 
com.myapp.services.* 
+0

質問は、サーブレットではなく、パッケージではありません。 –

+0

@SundararajGovindasamy投票の前に私の答えをもう一度読んでください。私の答えは、サーブレットの名前を付ける方法を教えてくれています。また、パッケージと同じことをする*を提案しています。 –

+0

私はあなたの答えにコメントしましたが、downvoting?それは私ではありません。 –

関連する問題