1

私のサーブレット マッピングは次のようになります。

<servlet-mapping>
  <servlet-name>myservlet</servlet-name>
  <url-pattern>/*</url-pattern>
</servlet-mapping>

したがって、私のサーブレットは次のようなリクエストに応答しますhttp://bla.com/myservlet/bla/bla/bla

パスhttp://bla.com/bla/bla/blaの一部に応答して取り除くにはどうすればよいですか。myservlet

さらに、Jetty に付属するデフォルトのウェルカム ファイルから、Hello World サーブレットを取り除きたいと考えています。

ありがとう。

ノート:

  1. mod_rewrite/ Apacheを使用してこれを行う方法を知っています。別の解決策を探しています。
4

2 に答える 2

3

Jetty インストールを使用している場合。それを行うには2つの方法があります

  1. war ファイルの名前を に変更するとroot.war、コンテキスト ルートが次のようになります。/
  2. webapp の context.xml を作成します

    <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
    <!-- Required minimal context configuration :                        -->
    <!--  + contextPath                                                  -->
    <!--  + war OR resourceBase                                          -->
    <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
    <Set name="contextPath">/</Set>
    <Set name="war"><SystemProperty name="jetty.home" default="."/>/webapps/blawh.war</Set>
    

    context.xml は の下にあり$JETTY_HOME/contextsます。ご覧のとおり、このディレクトリにはすでに test.war の context.xml があります。test.xml を見ると、Web アプリケーションの context.xml がどのように見えるべきかについての適切なアイデアを得ることができます。
    独自の作成が完了したら、先に進み、contexts/test.xmlcontexts/test.dおよびを削除しwebapps/test.warます。(テスト用のものをきれいにするためだけに)。これはあなたの2番目の質問にも答えます。

Maven を使用している場合は、次のようにします。

<プラグイン>
        <プラグイン>
            <groupId>org.mortbay.jetty</groupId>
            <artifactId>jetty-maven-plugin</artifactId>
            <構成>
              <webAppConfig>
                <contextPath>/</contextPath>
              </webAppConfig>
              <!-- 中略 -->

参照: Jetty/Howto/Deploy Web Applications

于 2012-10-19T05:26:51.550 に答える
1

複数の URL パターンを追加して、同じサーブレットにマップできます

<servlet-mapping>
  <servlet-name>myservlet</servlet-name>
  <url-pattern>/bla</url-pattern>
</servlet-mapping>

<servlet-mapping>
  <servlet-name>myservlet</servlet-name>
  <url-pattern>/bla/bla</url-pattern>
</servlet-mapping>
于 2012-10-19T05:23:35.243 に答える