2

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

配置:

  • 码头-8.1.8.v20121106
  • 春天 3.2

码头服务器配置

    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。

4

1 回答 1

0

您需要指定一个 viewresolver,正常的方式在 xml 中查看

 <bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver"
          p:prefix="/WEB-INF/pages/" p:suffix=".jsp"/>
于 2013-04-26T11:50:56.907 回答