0

私は3つのプロジェクトを持っています。1 つはサーブレット (動的 Web プロジェクト内で作成)、もう 1 つはソケット プロジェクト (動的 Web プロジェクトでもある) で、最後は他の 2 つのプロジェクトを統合するために使用したい実際の動的 Web プロジェクトで、両方をアップロードできます。私のApache Tomcatサーバーで(それは私の考えではなく、私の上司の考えです)。

Eclipse で「Java ビルド パス」オプションを使用して、サーブレットとソケット プロジェクトを Unify プロジェクトに追加しました。Eclipse/Tomcat 内で Unify プロジェクトを実行しましたが、Socket への Telnet コマンドを作成すると、動作します!. しかし(常に存在しますが)Tomcatがリスナーサーブレットクラスを見つけられないため、サーブレットプロジェクトは機能していません。問題は Unify プロジェクトの web.xml にあると思います

私にとって問題はこの行です:

<servlet-class>
   com.ninatec.fnet3.bussiness_servlet.web.ListenerServlet
</servlet-class>

では、Unify プロジェクトで、サーブレット プロジェクトからそのクラスを参照するにはどうすればよいでしょうか。

何か案が?この Unify プロジェクトについてどう思いますか? それは正しいアプローチですか?

私の貧弱な英語に感謝し、申し訳ありません

4

1 に答える 1

0

そのクラス (com.ninatec.fnet3.bussiness_servlet.web.ListenerServlet) をサーブレットと同じプロジェクトに配置する必要があります。これは、それが使用される場所だからです。

上司からの設計制約のためにこれを行うことができない場合は、他のプロジェクトをサーブレット プロジェクトの依存関係として追加する必要があります。ビルドした jar ファイルを、作成した war ファイルの /lib フォルダーに配置します (または、maven などの依存関係管理を使用します)。または、他の解決策は、Tomcat の依存関係として追加することです。Eclipse に Tomcat サーバー インスタンスがある場合にこれを行うには、次のようにします。

  • サーバービュー
  • Tomcat インスタンスをダブルクリックします。
  • 起動設定を開く
  • クラスパスタブ
  • ユーザーエントリー項目をクリック
  • プロジェクトを追加
  • com.ninatec.fnet3.bussiness_servlet.web.ListenerServlet でプロジェクトを選択します

しかし、最後の解決策は、サーブレット プロジェクトでリスナー クラスを使用することが理想的であり、他の場所で使用されるとは思えないため、おそらく最悪です。

于 2012-08-15T12:47:24.977 に答える