我有以下问题:
在我的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,但错误仍然存在。
有谁知道我能以不同的方式做什么?
答案 0 :(得分:1)
我找到了问题的答案,感谢@MigratedPigeon,因为他让我想到了默认servlet的类。
tomcat服务器有一个默认的servlet,tomcats的默认servlet类是
另一方面,Websphere没有默认的servlet,这就是为什么我收到错误&#34;无法找到Servlet名称&#34;。org.apache.catalina.servlets.DefaultServlet
正如我在原始问题中链接的答案一样,静态文件服务可以通过使用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。