重複の可能性:
コンテキストのルート名を含めずに相対パスを使用するには?
Tomcat の webapps ディレクトリには、コンテキスト app があり、その WEB-INFO/classes ディレクトリに test という名前のツリーがあり、その下に一連のクラス ファイルがあります。app には、ユーザー入力を収集し、classes/test ディレクトリ内のサーブレットの 1 つを呼び出して HTML 出力を生成することを目的とした html ファイルも含まれています。サーブレットを記述する web.xml は次のとおりです。
<servlet>
<servlet-name>foo</servlet-name>
<servlet-class>test.DoIt</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>foo</servlet-name>
<url-pattern>/doit</url-pattern>
</servlet-mapping>
htmlファイルの本体は
<FORM ACTION="/app/doit">
First Parameter: <INPUT TYPE="TEXT" NAME="param1">
<CENTER><INPUT TYPE="SUBMIT"></CENTER>
</FORM>
これはすべて機能します。しかし、htmlファイルのフォームアクションでアプリの名前を指定しなければならないのは、どうやら間違っているようです。これを回避する方法はありますか、または、なぜそうしなければならないのか、誰かが私に説明できますか? ありがとう。