有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

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

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

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

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

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

我需要如何配置预览服务器以尊重我的注释?我到处都找过了,似乎没什么可谈的。myweb.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预览”节点下,我有以下内容:

enter image description here

更新--

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


共 (1) 个答案

  1. # 1 楼答案

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

    enter image description here