在 Eclipse Juno 4.2 中创建 servlet 时未自动获取 web.xml 文件

2022-09-03 08:44:40

我正在使用Eclipse Juno 4.2,Java 1.7和Tomcat 7。但是在我的系统中,当我创建servlet时,文件不会自动创建,而是另一个系统会自动创建文件。我完全困惑,有什么要配置的吗?web.xmlweb.xml

当我要创建一个动态项目时,我也会添加文件。web.xml


答案 1

Tomcat 7 是一个 Servlet 3.0 兼容容器。从 Servlet 3.0 开始,servlet 可以通过在类上进行注释来配置,而无需配置条目。仔细看看你刚刚创建的 servlet 类,上面有一个注释,其中包含你在“新建 Servlet”向导中指定的所有信息。@WebServletweb.xml@WebServlet

实际上,这种配置 servlet 的新方法

@WebServlet("/hello")
public class HelloServlet extends HttpServlet {}

与这种配置 servlet 的传统方式完全相同

<servlet>
    <servlet-name>helloServlet</servlet-name>
    <servlet-class>com.example.HelloServlet</servlet-class>
</servlet>
<servlet-mapping>
    <servlet-name>helloServlet</servlet-name>
    <url-pattern>/hello</url-pattern>
</servlet-mapping>

如果出于某种原因仍希望 Eclipse 创建条目,则应在项目属性的“项目方面”部分中将动态 Web 模块版本从 3.0 更改回 2.5。web.xml


答案 2

如果您使用 Servlet 2.5 版本而不是 3.0,那么 web.xml将自动更新以包含您创建的 servlet。


推荐