【问题标题】:Spring 3.1 - Servlet 3 code-based configuration using the Jetty Maven PluginSpring 3.1 - 使用 Jetty Maven 插件的基于 Servlet 3 代码的配置
【发布时间】:2011-11-09 15:05:30
【问题描述】:

我尝试集成spring 3.1的新特性,使用注解来指定web应用的配置信息。

我设置了 maven-jetty-plugin 版本 8.0.4.v20111024 来运行我的应用程序。 使用 mvn jetty:run 命令启动码头时,一切似乎都正常并且设置正确。 但是通过浏览器访问应用时,只有默认servlet的输出。

这似乎是一个类似的问题,tomcat 在以前的版本中(https://issues.apache.org/bugzilla/show_bug.cgi?id=51278

目前,我不能使用码头,我不得不切换到 tomcat-plugin 将我的应用程序部署到 tomcat。

有没有人有任何建议,当没有 web.xml 可用时如何覆盖码头默认 servlet?

【问题讨论】:

    标签: spring maven-jetty-plugin servlet-3.0


    【解决方案1】:

    你可以通过覆盖默认的码头配置来做到这一点,把它放在你的插件中:

    <configuration>
      <scanIntervalSeconds>0</scanIntervalSeconds>
      <webAppConfig>
        <defaultsDescriptor>src/main/resources/webdefault.xml</defaultsDescriptor>
      </webAppConfig>
    </configuration>
    

    从 Jetty 复制 webdefault 文件,并将这部分注释掉:

    <!--   <servlet-mapping> -->
    <!--     <servlet-name>default</servlet-name> -->
    <!--     <url-pattern>/</url-pattern> -->
    <!--   </servlet-mapping> -->
    

    【讨论】:

    • 试过了,映射的URI已经初始化了,但是访问页面时没有找到。这适用于 tomcat 7。10:24:48.138 [main] INFO o.s.w.s.m.m.a.RequestMappingHandlerMapping - Mapped "{[/test],methods=[],params=[],headers=[],consumes=[],produces=[],custom=[]}" onto public java.lang.String test.web.TestAppController.showIndex() 10:24:56.987 [qtp1789008037-43] WARN o.s.web.servlet.PageNotFound - No mapping found for HTTP request with URI [/test] in DispatcherServlet with name 'appServlet'
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-08-11
    • 1970-01-01
    • 2014-10-29
    • 2012-02-09
    • 2012-01-05
    • 2011-05-13
    • 2011-01-14
    相关资源
    最近更新 更多