2017-08-01 6 views
1

私は以下のものを持つJavaスタンドアロンアプリケーションを持っています:サーブレットを作成するには、すべてのJavaサーバーを書き直す必要がありますか?

  • データベース。
  • データベースにアクセスし、クライアントからの要求を受け入れるサーバー。
  • サーバーを介してデータベースを更新するMVCパターンでプログラムされたクライアント。

ここで、クライアントからデータベースを更新できるWebページを作成します。私はここに2つのオプションがあることを知っています:Java Webサービスとサーブレット。 Java Webサービスはソフトウェアのインストールを必要とするため、アプリケーションを使用するいくつかのデバイスを防ぐため、サーブレットを使用することをお勧めします。

私の質問は:私はサーブレットを実装するために私のサーバーのコードの大部分を書き直す必要がありますか、それとも単に私のサーバーコードのいくつかのものを追加したり変更したりするだけですか?

+0

これは、あなたが最初にそれを書いたときにそれをどのように構造化したかによってまったく異なります。うまくいけば、もしあなたが賢い人だったら、そうではありません。 – Michael

+0

サーブレットだけでなく、springbootを試すこともできます。 – StanislavL

答えて

0

すでにクライアントからの要求に対応しているサーバーコンポーネントがあります。 HTTPクライアントからの要求を受け入れて処理するHTTPサーバーでこれを拡張するだけです。

おそらく、Tomcatなどのコンテナで実行したいと思うでしょう。このルートに進む場合は、ServletContextListenerを実装して、起動/シャットダウン時に既存のアプリケーションを初期化/クリーンアップする必要があります。

次に、コンテナ(Tomcatなど)を使用して、サーバー全体(既存のWebエンドポイントと新しいWebエンドポイント)を開始します。あなたはおそらく、既存のクライアント接続用に1つのポート(たとえば、80または443)と他のポートにウェブを追加することをお勧めします。

HTTP経由で利用可能にしたい既存のリクエストハンドラのそれぞれについて、すべてのデータ検証とビジネスロジックが単一の方法で実装されるようにコードをリファクタリングする必要がありますこの方法で始まる)。次に、HTTPリクエストを処理するWebサービスを追加し、既存のサーバー実装の呼び出しと同じメソッドを呼び出させます。

多くのWebサービスフレームワーク(ジャージーなど)を使用することを検討してください。

関連する問題