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

gil*_*iev 36 java web.xml servlets

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

先感谢您!

Gio*_*nni 15

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

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/*");
    }

}
Run Code Online (Sandbox Code Playgroud)

是另一个链接,显示如何使用其他可用的注释(@ServletFilter,@ WebServletContextListener); 您可以在此处下载规格表格,以便更详细地了解通过j2ee提供的注释.

  • “最新”规范称为“ Java EE”。[J2EE]已删除[自2006年以来](https://en.wikipedia.org/wiki/Java_EE_version_history#Java_EE_5_.28May_11.2C_2006.29)。 (2认同)

Mik*_*sen 12

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

如果你想使用现代的Spring,Grails 3是一个很好的方式.它可以解决所有这些问题,Grails是一个非常高效的Web开发框架.您可以将其视为基于Spring和Hibernate构建的Ruby on Rails.

此时,除非使用需要它的框架,否则不必编写任何web.xml来进行设置.我不知道spring mvc,但是Grails并不要求你这样做,它使用了你已经习惯使用的大部分内容.


chr*_*ke- 0

使用 Spring Boot,它将为您管理容器和所有样板配置。您可以使用Initializr生成准备启动的骨架。