我真的需要web.xml来构建基于Servlet的Java Web应用程序吗?

2022-09-01 03:58:46

我没有在现实世界的Web项目上工作。在大学里,我们使用Servlets和Spring进行Java Web开发。在这两个项目中,我们都得到了已经配置的web.xml文件,我们只对它们进行了微小的更改。现在我需要从头开始构建一个 Web 应用。我在Eclipse中创建了新的Servlet类,它没有自动创建任何web.xml。然后我用谷歌搜索,我从几个资源中读到,web.xml并不是真正需要的,但是这个推理被放在几个句子中,所以我不确定使用注释而不是web.xml是否会有问题。如果不需要配置web.xml,我会非常高兴,因为我自己还没有配置一个,我想更多地关注业务逻辑。

提前感谢您!


答案 1

如果您有一个支持最新 j2ee 规范的容器,则不需要文件。这里有一个链接到一个简单的servlet示例,它使用注释,在这里你可以找到与Spring MVC相同的链接;为了方便起见,我在这里发布示例web.xml

public class MyWebApplicationInitializer implements WebApplicationInitializer {

    @Override
    public void onStartup(ServletContext container) {
        ServletRegistration.Dynamic registration = container.addServlet("dispatcher", new DispatcherServlet());
        registration.setLoadOnStartup(1);
        registration.addMapping("/example/*");
    }

}

这是另一个链接,显示如何使用其他可用的注释(@ServletFilter,@WebServletContextListener);您可以在此处下载规范表单,以便通过j2ee获得更详细的注释视图。


答案 2

从 Servlet 3 开始,不需要 web.xml。你会想要使用像Tomcat 7或8这样的东西(更好的选择)。对于原始服务,这是一个很好的起点

如果你想使用现代的春天,圣杯3是一个很好的方式。它回避所有这些问题,Grails是一个非常高效的Web开发框架。你可以把它想象成建立在Spring和Hibernate之上的Ruby on Rails。

在这一点上,你不应该写任何web.xml来设置,除非你使用一个需要它的框架。我不知道弹簧mvc,但Grails不需要你这样做,它使用了你已经习惯使用的大部分东西。


推荐