我在我的应用程序中使用@WebServlet
注释,如下所示:
@WebServlet("/tokenize")
public class TokenizerServlet extends HttpServlet {
...
}
这在Eclipse中的“localhost的J2EE预览”中不起作用。对http://localhost:8080/myApp/tokenizer
的任何请求都返回404.当从web.xml
映射时,这个相同的URL工作正常。
但是,当部署应用程序时(对于Azure,在我的情况下),它确实有效。所以问题不在代码或配置中,而是与Eclipse中的预览服务器有关。
如何配置预览服务器以遵守我的注释?我到处寻找,似乎没有太多配置可言。我的web.xml
的根元素看起来像这样:
<web-app
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
version="3.0">
在项目的“J2EE Preview”节点下,我有:
更新 -
我从来没有得到过这方面的解决方案,但我发现在本地运行Tomcat非常容易,我刚刚开始这样做了。我在这里留下这个问题以防其他人有同样的问题,只是因为你知道你并不孤单,也许有人会在某个时候提供答案。