1

Tomcat 5.5では、server.xmlに多くのコネクタ(通常はポートのみ8080)を含めることができますが、私のアプリケーションでは、ユーザーは他のポートも開くようにservlet.xmlを構成できます(たとえば8081-8088)。サーブレットがどのソケット接続ポートを利用できるかを把握したいと思います(Servlet.init()の間、Tomcatはまだコネクタを開始していません)。

server.xmlを自分で見つけて解析することができ(grotty)、スレッド名を見ることができました(tomcatが起動した後-しかし、それを行うのに適した時期をどのように知ることができますか?)しかし、私はできるソリューションを好みます私のservlet.init()で実行し、有効なポート範囲を決定します。何か案は?私のアプリケーションでは、ソリューションをTomcatに緊密にバインドできます。

4

3 に答える 3

4

Tomcat 6.0 では、次のようになります。

org.apache.catalina.ServerFactory.getServer().getServices 

サービスを受けるために。その後、使用する可能性があります

Service.findConnectors

最終的にメソッドを持つコネクタを返します

Connector.getPort

詳細については、JavaDocsを参照してください。

于 2008-09-15T18:54:15.700 に答える
0

あなたがやろうとしていることは何でも-私はTomcat特有の道を下りません。

本当に別のポートを見つける必要がある場合は、通常の構成手段(値の指定など)を使用して、それらをWebアプリに構成します。自動検出はありませんが、tomcatsの次の更新で壊れることはありません。

具体的には、あなたが間違った質問をしたと思います。たとえば、要件があり、1つのソリューションを選択し、このソリューションの実装方法を尋ねたとします。あなたが直接の要件を述べ、これに対する解決策を求めた場合、あなたはより良い答えを得るだろうと私は信じています。

于 2008-09-22T07:07:09.437 に答える
0

なんで?

画像または css ファイル URL のページ生成中に必要な場合、ServletRequest.getLocalPort()何が問題になっているのでしょうか。

于 2008-09-15T18:59:16.780 に答える