エラーについては403 Forbidden
、ハンドラー/サーブレットへのアクセスを許可していないセキュリティ設定があります。
そのセキュリティを(今のところ)削除し、残りが機能していることを確認してから、少し後でセキュリティを追加して詳細をロックします。
以下の提案が実際に機能していることを確認したい場合は、別のスタックオーバーフローからの回答のコード例を見ることを検討してください。
その場所に何も存在しない場合、ウェルカム ファイルは着信要求パスに追加されます。たとえば、ディレクトリをリクエストすると、'index.html' のウェルカム ファイルがリクエスト パスに追加されます。
これは機能しますが...
scContext.setWelcomeFiles(new String[]{"lists"})
// Add Default Servlet (must be named "default")
ServletHolder holderDefault = new ServletHolder("default",DefaultServlet.class);
holderDefault.setInitParameter("resourceBase",baseDir.getAbsolutePath());
holderDefault.setInitParameter("dirAllowed","true");
holderDefault.setInitParameter("welcomeServlets","true");
holderDefault.setInitParameter("redirectWelcome","true");
scContext.addServlet(holderDefault,"/");
ルートパスのみを言ったので、それはあなたが目指しているものではない可能性があります。上記は、次のようなリクエストにも変更を加え/foo/
ます/foo/lists
代わりに、welcome-files アプローチの代わりに Rewrite ルール + ハンドラーを使用する方が理にかなっています。
RewriteHandler rewrite = new RewriteHandler();
rewrite.setHandler(scContext);
RewritePatternRule rootRule = new RewritePatternRule();
rootRule.setPattern("/");
rootRule.setReplacement("/list");
rootRule.setTerminating(true);
rewrite.addRule(rootRule);
server.setHandler(rewrite);
これRewritePatternRule
は単にリクエスト パス/
を に変更/list
し、そのリクエストをラップされた に転送するだけです (ブラウザでssContext
を表示したい場合は、代わりに に変更します。 /list
RedirectPatternRule