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


问题内容

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

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


问题答案:

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

有效地,这种配置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>

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