我正在使用Eclipse Juno 4.2,Java 1.7和Tomcat 7.但在我的系统中,当我创建servlet时,web.xml
文件不会自动创建,而是另一个系统自动创建web.xml
文件。我完全糊涂了,有什么可配置的吗?
我还要在创建动态项目时添加web.xml
文件。
答案 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。