※Jettyに関する全投稿は/tag/jettyにあるので参照されたい。Embeddedとして使うJettyにWarファイルを配備する。バージョンは9.4.8である。配備の仕方これは単純だ。war.setWar("....../sample.war");とした後に、WebAppContextはContextHandlerであるので、Jettyの使い方1で見たようにContextHandlerCollectionに追加してやればよい。上記の「ディレクトリインデックスの表示禁止」を行わないと、以下が表示されてしまう。表示禁止を行うと以下になる。403になってしまう。Jettyサーバの方に設定したデフォルトのハンドラは使用されないようだ。404の場合でも同じだ。warの403や404のハンドリングを行うには?setErrorHandlerでエラーハンドラを設定すれば良いらしい。設定してみて、呼び出されることを確認する。});とりあえず何も返さないので、ブラウザには何も表示されない。.warファイルではなく、.warファイルを展開した後のディレクトリ構造は使用できるのか?可能だ。setWarの代わりに、setResourceBaseを呼び出せばよい。war.setResourceBase("...../sample");sample以下に次のようなディレクトリ構造があるものとする。warの場合には展開されてしまうことに注意.warファイルを配備した場合、Jettyは実行前にそれを展開してしまう。展開先としては、通常の一時ファイル領域が用いられる。Windowsの場合で、ユーザ名がadminの場合には、以下のようなものになる。C:\Users\admin\AppData\Local\Temp\jetty-0.0.0.0-8080-webterm.war-_wt-any-7725045132932423229.dirこの下にwebappディレクトリが作成され、そこに.warが展開されている。このdir自体は、.warファイルがなくとも、Jettyの実行ごとに作成されるようだ。※Jettyに関する全投稿は/tag/jettyにあるので参照されたい。コメントをキャンセルメールアドレスが公開されることはありません。*ウェブサイト上に表示された文字を入力してください。