码头6 - >码头7.5+给出“没有这样的servlet”异常
问题描述:
我的项目上码头6运行很好,但对码头7.5+(我查了7.5,8.1和9.0),我得到的码头启动No such servlet
异常(项目部署,我猜)。码头6 - >码头7.5+给出“没有这样的servlet”异常
的web.xml
<servlet-mapping>
<servlet-name>TestServlet</servlet-name>
<url-pattern>/TestServlet</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>TestServlet</servlet-name>
<servlet-class>myproject.servlets.TestServlet</servlet-class>
</servlet>
TestServlet.java
public class TestServlet extends HttpServlet {
private static final long serialVersionUID = 3992344538270432732L;
@Override
public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException {
PrintWriter out = response.getWriter();
out.println("<html>");
out.println("<body>");
out.println("<h1>Hello Servlet Get</h1>");
out.println("</body>");
out.println("</html>");
}
}
答
倒车web.xml中的顺序解决了这个问题:
<servlet>
<servlet-name>TestServlet</servlet-name>
<servlet-class>myproject.servlets.TestServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>TestServlet</servlet-name>
<url-pattern>/TestServlet</url-pattern>
</servlet-mapping>
我想以前的版本码头wer e对于servlet声明的顺序没有那么严格。
+1
您的'web.xml'有一个DTD,它应该有助于验证和执行该命令。 –
对不起,需要一些线索,你如何运行和部署到码头 –
也添加stacktrace。 –
关于你的'TestServlet.java'的更多细节,特别是'package'和'import'行。 –