使用外置的Servlet容器

Posted 风中男子

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用外置的Servlet容器相关的知识,希望对你有一定的参考价值。

嵌入式Servlet容器:
优点:简单、便捷
缺点:默认不支持JSP、优化定制比较复杂(使用定制器【ServerProperties、自定义EmbeddedServletContainerCustomizer】),自己编写嵌入式Servlet容器的创建工厂【EmbeddedServletContainerFactory】;

外置的Servlet容器:外面安装Tomcat--应用war包的方式打包

步骤:
1)、必须创建一个war项目(利用idea创建好目录结构)
2)、将嵌入式的Tomcat指定为provided;
<dependency>
   <groupId>org.springframework.boot</groupId>
   <artifactId>spring-boot-starter-tomcat</artifactId>
   <scope>provided</scope>
</dependency>
3)、必须编写一个SpringBootServletInitializer 的实现子类,并调用configure方法
public class ServletInitializer extends SpringBootServletInitializer {

   @Override
   protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
//传入SpringBoot的应用主程序
      return application.sources(SpringBoot04WebJspApplication.class);
   }

}
4)、启动服务器就可以使用;

原理:

jar包:执行SpringBoot主类的main方法,启动ioc容器,创建嵌入式的Servlet容器;
war包:启动服务器,服务器启动SpringBoot应用,启动ioc容器;

以上是关于使用外置的Servlet容器的主要内容,如果未能解决你的问题,请参考以下文章

外置容器创建及启动ApplicationContext过程

外置容器创建及启动ApplicationContext过程

Servlet

servlet

Servlet上

引入servlet概念