由于SRVE0303E,WAS 8.5.5.9无法启动Web应用程序

时间:2017-05-03 13:06:51

标签: java tomcat servlets websphere-8

我有以下问题:

在我的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上我收到以下错误:

  

&#34; SRVE0303E:无法找到servlet映射* .css的Servlet名称。&#34;

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

有谁知道我能以不同的方式做什么?

2 个答案:

答案 0 :(得分:1)

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

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

  

org.apache.catalina.servlets.DefaultServlet

另一方面,Websphere没有默认的servlet,这就是为什么我收到错误&#34;无法找到Servlet名称&#34;。

正如我在原始问题中链接的答案一样,静态文件服务可以通过使用web-ext.xml文件由websphere激活,但仍然无法解决我的web.xml文件有&#34的问题;默认&#34;的servlet。

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

答案 1 :(得分:0)

你还应该在你的web.xml中提到这个

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

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