Spring MVC在部署到嵌入式Jetty 8服务器时找不到JSP

时间:2013-04-26 10:12:37

标签: servlets spring-mvc jetty embedded-jetty

我正在尝试运行嵌入式Jetty服务器并将Spring MVC应用程序部署到其中,但是存在资源映射问题 - 特别是我无法映射spring mvc控制器以便它可以找到我的JSP。

配置:

  • jetty-8.1.8.v20121106
  • Spring 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 在classpath中,但在这样的配置中我有一个错误问题访问/WEB-INF/pages/main-page.jsp (实际位于在 webapp 下。因此调用控制器方法,但无法解析视图。

我尝试使用 WebAppContext 和Spring Dispatcher Servlet(/ *)的通配符映射,但它没有帮助 - 忽略控制器映射或找不到JSP。

1 个答案:

答案 0 :(得分:0)

你需要指定一个viewresolver,正常的方式在xml

中查看
 <bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver"
          p:prefix="/WEB-INF/pages/" p:suffix=".jsp"/>