我正在尝试运行嵌入式Jetty服务器并将Spring MVC应用程序部署到其中,但是存在资源映射问题 - 特别是我无法映射spring mvc控制器以便它可以找到我的JSP。
配置:
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 在classpath中,但在这样的配置中我有一个错误问题访问/WEB-INF/pages/main-page.jsp (实际位于在 webapp 下。因此调用控制器方法,但无法解析视图。
我尝试使用 WebAppContext 和Spring Dispatcher Servlet(/ *)的通配符映射,但它没有帮助 - 忽略控制器映射或找不到JSP。
答案 0 :(得分:0)
你需要指定一个viewresolver,正常的方式在xml
中查看 <bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver"
p:prefix="/WEB-INF/pages/" p:suffix=".jsp"/>