サーブレットが別のパスで作成されるように init パラメータを変更することは可能ですか? 特定のパスにサーブレットを作成する必要があります。さらに、初期化パラメーター内で人為的にパスを渡すことは可能でしょうか?
質問する
62 次
3 に答える
1
他の回答で既に示したように、サーブレット マッピングはサーブレットによって制御されないため、サーブレット インスタンス内から変更することはできません。
ただし、間接的なレベル (「ディスパッチャ」サーブレットのようなもの) を導入することで、これを回避できます: サーブレットをワイルドカード パターン ( など/app/*
) にマップし、サーブレット内で、リクエスト URL パスに基づいて実際のアクションを決定します:/app/X
がトリガーされますいくつかの X アクションは、/app/Y
Y をトリガーします。
DispatcherServlet
多くの Web フレームワークは、すぐに使用できる完全な機能を提供します。たとえば、Spring MVCとそのHandlerMapping
概念を見ることができます。
于 2013-09-19T12:54:58.853 に答える
0
Servlets
特定のパスでは作成されません。これらは、サーブレット コンテナ Java アプリケーションが作成する Java オブジェクトです。たとえば、Tomcat を実行している場合、アプリケーションは/webapps
ディレクトリから実行されます。できることは、Tomcat の構成を変更して別のパスから実行することですが、実際にアプリケーションを開始する前にこれを行う必要があります。
于 2013-09-19T12:32:52.000 に答える