0

@WebServlet在我的应用程序中使用注释,如下所示:

@WebServlet("/tokenize")
public class TokenizerServlet extends HttpServlet {
   ...
}

这在 Eclipse 中的“本地 J2EE 预览”中不起作用。http://localhost:8080/myApp/tokenizer任何返回 404 的请求。从 映射时web.xml,相同的 URL 可以正常工作。

但是,当应用程序被部署(在我的例子中是 Azure)时,它确实可以工作。所以问题不在于代码或配置,它与 Eclipse 中的预览服务器有关。

我需要如何配置预览服务器以尊重我的注释?我到处看了,似乎没有太多配置可言。my 的根元素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 非常容易,所以我才开始这样做。我把这个问题留在这里,以防其他人有同样的问题,只是为了让你知道你并不孤单,也许有人会在某个时候提供答案。

4

1 回答 1

0

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

在此处输入图像描述

于 2017-12-28T03:41:39.703 回答