如何使用以下URL调用简单的servlet: http:// localhost:8080 / servlet / MyServlet
我将其放在文件夹中: tomcat\webapps\ROOT\WEB-INF\classes
tomcat\webapps\ROOT\WEB-INF\classes
我读过,没有必要在web.xml中提及servlet。我也一样 不过,我无法调用它。
我读过,没有必要在web.xml中提及servlet。
您可能会与InvokerServletApache Tomcat较旧版本中存在的旧版Tomcat内置功能混淆(仍然在较差且过时的教程/书中提到)。实际上,它允许这样调用servlet,而无需映射任何内容。但是,后来证实这是一个安全漏洞,容易受到攻击。它已在Tomcat 5.0上禁用和弃用,在Tomcat 7.0上已被删除。在这种情况下,您确实需要在其中映射servlet web.xml(并将其放入包中!)。
InvokerServlet
web.xml
另一个令人困惑的原因可能是新的Servlet 3.0 @WebServlet注释。如果您已经在使用Tomcat 7.0之类的Servlet 3.0容器,则可以使用此批注来映射Servlet,而无需费心web.xml。
@WebServlet
package com.example; @WebServlet("/MyServlet") public class MyServlet extends HttpServlet { // ... }
然后,您将可以按所需方式访问它。