springboot单独部署到tomcat中,为什么没有发现web.xml文件呢?
我们都知道一个war包,都需要使用web.xml的配置信息,才能使用servlet的相关功能,
在springboot中,我们使用使用tomcat部署,
但是没有发现web.xml,这是为什么呢? 下文笔者将一一道来,如下所示
在springboot中,我们使用使用tomcat部署,
但是没有发现web.xml,这是为什么呢? 下文笔者将一一道来,如下所示
Spring Boot设计理念
Java 配置优先: Spring Boot推崇使用Java类和注解 来替代传统XML配置文件(如 `web.xml`) 这种方式不仅简化了配置 还增强了类型安全性和代码的可读性。 自动配置: Spring Boot提供大量自动配置功能 能够根据类路径中的依赖自动配置应用程序 减少手动配置的需求
WAR包与`web.xml`
当Spring Boot应用程序打包 为WAR文件并部署到外部Tomcat容器时 需要注意事项 默认不包含`web.xml` Spring Boot默认不会生成 `web.xml` 文件 因为所有必要的配置都可以通过 Java 配置类和注解来完成。 Servlet容器初始化 Spring Boot使用`SpringBootServletInitializer` 来初始化 Servlet 容器 相当于替换`web.xml` 中的 `<listener>` 和 `<servlet>` 等元素功能
例:继承`SpringBootServletInitializer`
import org.springframework.boot.builder.SpringApplicationBuilder; import org.springframework.boot.web.servlet.support.SpringBootServletInitializer; public class MyApplication extends SpringBootServletInitializer { @Override protected SpringApplicationBuilder configure(SpringApplicationBuilder application) { return application.sources(MyApplication.class); } public static void main(String[] args) { SpringApplication.run(MyApplication.class, args); } } 此例中 `SpringBootServletInitializer`负责启动Spring Boot应用程序 并将其注册到外部的 Servlet 容器(如 Tomcat)中
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。