为什么Eclipse中的预览服务器不会尊重我的@WebServlet注释?

问题描述 投票:0回答:1

我在我的应用程序中使用@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”节点下,我有:

enter image description here

更新 -

我从来没有得到过这方面的解决方案,但我发现在本地运行Tomcat非常容易,我刚刚开始这样做了。我在这里留下这个问题以防其他人有同样的问题,只是因为你知道你并不孤单,也许有人会在某个时候提供答案。

java eclipse servlets java-annotations
1个回答
0
投票

在介绍servlet 3.0时,servlet中的注释概念出现了。下面的任何较低版本都不支持注释。我认为在您的IDE中,您使用的是低于3.0的servlet版本。在创建动态Web项目时,可以更改此版本。

enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.