【问题标题】:WAS 8.5.5.9 cannot start webapplication because of SRVE0303E由于 SRVE0303E,WAS 8.5.5.9 无法启动 Web 应用程序
【发布时间】:2017-05-03 13:06:50
【问题描述】:

我有以下问题:

在我的 web.xml 中,我定义了如何提供图片,如下所示:

<servlet-mapping>
    <servlet-name>default</servlet-name>
    <url-pattern>*.css</url-pattern>
    <url-pattern>*.png</url-pattern>
    <url-pattern>*.jpg</url-pattern>
</servlet-mapping>

在 Tomcat 上这工作正常,但在 IBM Websphere 8.5.5.9 上我收到以下错误:

“SRVE0303E: 找不到 Servlet 映射 *.css 的 Servlet 名称。”

在另一个站点上,我已经找到了解决此问题的方法 (https://www.ibm.com/developerworks/community/forums/html/topic?id=5f4420ba-0754-43fe-8c87-91acc588d9fc),因此我还创建了与他们的解决方案完全相同的 ibm-web-ext.xml,但错误仍然存​​在。

有人知道我可以做些什么不同的事情吗?

【问题讨论】:

    标签: java tomcat servlets websphere-8


    【解决方案1】:

    感谢@MigratedPigeon,我找到了问题的答案,因为他让我想到了我的默认 servlet 的类。

    一个tomcat服务器有一个默认servlet,tomcats默认servlet的类是

    org.apache.catalina.servlets.DefaultServlet

    另一方面,Websphere 没有默认 servlet,这就是为什么我收到错误“找不到 Servlet 名称”。

    正如我在原始问题中链接的答案,websphere 可以使用 web-ext.xml 文件激活静态文件服务,但这仍然没有解决我的 web.xml 文件具有“默认值”的问题小服务程序。

    在我们的应用程序中,我们使用了 spring,所以最后我用 springs dispatcher servlet 替换了 web.xml 中的默认 servlet,现在我的 web.xml 文件对 tomcat 和 websphere 都有效。

    【讨论】:

      【解决方案2】:

      您还应该在 web.xml 中提及这一点

      <servlet>
         <servlet-name>default</servlet-name>
         <servlet-class>your servlet class</servlet-class>
      </servlet>
      

      Servlet 映射是根据 "" 标记中提到的值完成的,并且将调用相应的 servlet。

      【讨论】:

        猜你喜欢
        • 2017-02-20
        • 2017-05-16
        • 2011-04-11
        • 2011-08-22
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-09-30
        • 1970-01-01
        相关资源
        最近更新 更多