jetty 静的ファイルとサーブレットとルートディレクトリ

普通foo.com/にアクセスされたら動的に生成したメインページに飛びたい。

しかしながら静的ファイルを/foo.jsのように静的ファイルをルートディレクトリ直下においた場合、

  <servlet>
    <servlet-name>RootHandler</servlet-name>
    <servlet-class>jettyTiddlywiki.servlet.RootHandler</servlet-class>
  </servlet>
  <servlet-mapping>
    <servlet-name>RootHandler</servlet-name>
    <url-pattern>/</url-pattern>
  </servlet-mapping>

とすると<url-pattern>/</url-pattern><url-pattern>/*</url-pattern>と同義で静的ファイルにはたどり着けない
そこで、

  <servlet>
    <servlet-name>RootHandler</servlet-name>
    <servlet-class>jettyTiddlywiki.servlet.RootHandler</servlet-class>
  </servlet>
  <servlet-mapping>
    <servlet-name>RootHandler</servlet-name>
    <url-pattern>/index.html</url-pattern>
  </servlet-mapping>
  <welcome-file-list>
	<welcome-file>index.html</welcome-file><!-- dummy -->
  </welcome-file-list>

とダミーのindex.htmlを想定し、実際にはサーブレットを参照する。
またここで、jettyではダミー名をindex.servletなどと分かりやすい用設定するとwelcome-fileとして機能せずforbiddenレスポンスが帰ってくる糞な状況に陥った

2013.7.15
しかもダミーのindex.html(中身は何でも良い)を実際に/war/WEB-INF/内に配置して置かないとforbiddenレスポンスが帰って来てだめである糞なことが判明。意味ワカメ

    last modified: 15 July 2013 [ View wiki source Close ]
     
SEARCH DIFFERENCE ATTACHMENT RECENT POST