我有一个遗留的Web应用程序,它在tomcat 6上运行得很好。在这个应用程序中,我们有一个servlet,比如DefaultServlet,它在web.xml中有以下映射
<servlet>
<servlet-name>defaultServlet</servlet-name>
<servlet-class>the.bhushan.servlets.DefaultServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>defaultServlet</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
现在没有匹配其他url映射时,将调用此defaultServlet。这是我的要求 在tomcat7中,我使用相同的servlet,.bhushan.servlets.DefaultServlet并在该servlet上放置@WebServlet(&#34; /&#34;)注释,但是这个servlet在tomcat6中被调用时没有被调用。 / p>
答案 0 :(得分:0)
打开web.xml并将servlet api的版本号更改为&#34; 3.0&#34;:
<web-app metadata-complete="false" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0" >
设置metadata-complete =&#34; false&#34;确保服务器扫描带注释的类。
确保您的课程仍然延伸&#34; HttpServlet&#34;。
确保您的应用中没有其他servlet-api.jar文件。