0

サーブレットが別のパスで作成されるように init パラメータを変更することは可能ですか? 特定のパスにサーブレットを作成する必要があります。さらに、初期化パラメーター内で人為的にパスを渡すことは可能でしょうか?

4

3 に答える 3

1

他の回答で既に示したように、サーブレット マッピングはサーブレットによって制御されないため、サーブレット インスタンス内から変更することはできません。

ただし、間接的なレベル (「ディスパッチャ」サーブレットのようなもの) を導入することで、これを回避できます: サーブレットをワイルドカード パターン ( など/app/*) にマップし、サーブレット内で、リクエスト URL パスに基づいて実際のアクションを決定します:/app/Xがトリガーされますいくつかの X アクションは、/app/YY をトリガーします。

DispatcherServlet多くの Web フレームワークは、すぐに使用できる完全な機能を提供します。たとえば、Spring MVCとそのHandlerMapping概念を見ることができます。

于 2013-09-19T12:54:58.853 に答える
0

Servlets特定のパスでは作成されません。これらは、サーブレット コンテナ Java アプリケーションが作成する Java オブジェクトです。たとえば、Tomcat を実行している場合、アプリケーションは/webappsディレクトリから実行されます。できることは、Tomcat の構成を変更して別のパスから実行することですが、実際にアプリケーションを開始する前にこれを行う必要があります。

于 2013-09-19T12:32:52.000 に答える