組み込みの Jetty サーバーを実行して Spring MVC アプリケーションをデプロイしようとしていますが、リソース マッピングの問題があります。特に、JSP を見つけられるように spring mvc コントローラーをマップできません。
構成:
- 桟橋-8.1.8.v20121106
- 春 3.2
Jetty サーバーの構成:
Server server = new Server();
ServletContextHandler context = new ServletContextHandler();
//WebAppContext context = new WebAppContext();
context.setBaseResource(Resource.newClassPathResource("webapp"));
context.setClassLoader(Thread.currentThread().getContextClassLoader());
context.setContextPath("/");
AnnotationConfigWebApplicationContext webAppContext = new AnnotationConfigWebApplicationContext();
webAppContext.register(WebFaceSpringConfiguration.class);
webAppContext.setServletContext(context.getServletContext());
webAppContext.setParent(applicationContext);
context.addServlet(new ServletHolder(new DispatcherServlet(webAppContext)), "/");
server.setHandler(context);
server.setConnectors(jettyConnectors);
フォルダーwebappはクラスパスにありますが、そのような構成では/WEB-INF/pages/main-page.jsp (実際にはwebappの下にあります) にアクセスする際にエラーが発生します。そのため、コントローラー メソッドが呼び出されますが、ビューを解決できません。
Spring Dispatcher Servlet (/*) にWebAppContextとワイルドカード マッピングを使用しようとしましたが、役に立ちませんでした。コントローラー マッピングが無視されるか、JSP が見つかりません。