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

时间:2013-02-13 13:33:22

标签: java eclipse servlets

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

我还要在创建动态项目时添加web.xml文件。

2 个答案:

答案 0 :(得分:46)

Tomcat 7是一个与Servlet 3.0兼容的容器。从Servlet 3.0开始,servlet可以通过类@WebServlet注释进行配置,而无需web.xml配置条目。仔细查看刚刚创建的servlet类,其上有一个@WebServlet注释,其中包含您在 New 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>

如果您仍希望Eclipse出于某种原因创建web.xml条目,那么您应该在 Project Facets中将动态Web模块版本从3.0更改为2.5 项目属性的部分。

答案 1 :(得分:2)

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