使用外置的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容器;

原文地址:https://www.cnblogs.com/cykj/p/OutServletContainer.html

时间: 2024-08-30 13:09:31

使用外置的Servlet容器的相关文章

SpringBoot(七) -- 嵌入式Servlet容器

一.嵌入式Servlet容器 在传统的开发中,我们在完成开发后需要将项目打成war包,在外部配置好TomCat容器,而这个TomCat就是Servlet容器.在使用SpringBoot开发时,我们无需再外部配置Servlet容器,使用的是嵌入式的Servlet容器(TomCat).如果我们使用嵌入式的Servlet容器,存在以下问题: 1.如果我们是在外部安装了TomCat,如果我们想要进行自定义的配置优化,可以在其conf文件夹下修改配置文件来实现.在使用内置Servlet容器时,我们可以使用

web容器与servlet容器

1. web容器好比   电视机 servlet容器好比   VCD 没有VCD你可以看电视,对吧,但是有了VCD没有电视机,你从哪看起?:) 没有servlet容器,你也可以用web容器直接访问静态页面,比如安装一个apache等,但是如果要显示jsp/servlet,你就要安装一个  servlet容器了,但是光有servlet容器是不够的,因为它要被解析成html输出,所以你仍需要一个web容器. 大多数servlet容器同时提供了web容器的功能,也就是说大多servelt可以独立运行你

Web服务器(Apache)与Servlet容器(Tomcat)

之前一直比较迷惑Apache与Tomcat的关系,通过查询资料,有所了解,现记录于此. Apache与Tomcat 两者定位:Apache是HTTP Web服务器,Tomcat是Web容器. 有一个非常形象的比喻:Apache是一辆车,可以装载静态的物件(HTML静态网页等):但不能装动态的水(JSP.CGI等),要装水就需要桶(容器),当然桶也可以不放在车上而单独存放,则该容器即为Tomcat. 两者的主要区别: Apache是世界上最流行的Web服务器(其次是微软的IIS),可以处理浏览器的

探秘Tomcat——一个简易的Servlet容器

即便再简陋的服务器也是服务器,今天就来循着书本的第二章来看看如何实现一个servlet容器. 背景知识 既然说到servlet容器这个名词,我们首先要了解它到底是什么. servlet 相比你或多或少有所了解.servlet是用java编写的服务器端程序,主要功能在于交互式地浏览和修改数据,生成动态Web内容.狭义的Servlet是指Java语言实现的一个接口,广义的Servlet是指任何实现了这个Servlet接口的类,一般情况下,人们将Servlet理解为后者. 容器 容器的概念很大,在这里

web容器和servlet容器

1. web容器好比   电视机servlet容器好比   VCD没有VCD你可以看电视,对吧,但是有了VCD没有电视机,你从哪看起?:) 没有servlet容器,你也可以用web容器直接访问静态页面,比如安装一个apache等,但是如果要显示jsp/servlet,你就要安装一个  servlet容器了,但是光有servlet容器是不够的,因为它要被解析成html输出,所以你仍需要一个web容器. 大多数servlet容器同时提供了web容器的功能,也就是说大多servelt可以独立运行你的w

Spring 4 官方文档学习(十一)Web MVC 框架之编码式Servlet容器初始化

在Servlet 3.0+ 环境中,你可以编码式配置Servlet容器,用来代替或者结合 web.xml文件.下面是注册DispatcherServlet : import org.springframework.web.WebApplicationInitializer; public class MyWebApplicationInitializer implements WebApplicationInitializer { @Override public void onStartup(

Servlet容器container

通俗点说,所谓容器,就是放东西的地方.Servlet容器自然就是放Servlet的地方.J2EE开发,是有分工的.一般的程序员,写得都是应用开发,我们会按照一定的规则,开发我们的系统,比如用Servlet开发,我们就要按照Servlet的规则写代码. 那么我们写的代码就是在Servlet容器中运行.容器会按照规则加载类,并运行它. 有一部份程序员就是写容器的,如Tomcate就是web容器.tomcat就是一个Servlet容器. servlet容器基本概念:1,Tomcat是Servlet的运

servlet容器开发要点

v1 是一个http服务器. v2 是一个servlet容器, 可以提供servlet的服务.   =>  动态load servlet字节码,并运行它( 按生命周期). servlet容器它来控制servlet的生命周期. Servlet类必须要实现一个接口  Servlet , 提供所有的Servlet都要有的方法( 生命周期) 对于要处理的资源有两种: 静态资源/动态资源.    定义一个接口,写两个实现. 动态资源:     http://localhost:8888/servlet/h

Servlet容器如何同时来处理多个请求

工作者线程Work Thread:执行代码的一组线程调度线程Dispatcher Thread:每个线程都具有分配给它的线程优先级,线程是根据优先级调度执行的Servlet采用多线程来处理多个请求同时访问.servlet依赖于一个线程池来服务请求.线程池实际上是一系列的工作者线程集合.Servlet使用一个调度线程来管理工作者线程.当容器收到一个Servlet请求,调度线程从线程池中选出一个工作者线程,将请求传递给该工作者线程,然后由该线程来执行Servlet的service方法.当这个线程正在