项目的源码https://github.com/H-Designer/SpringBoot
上一节总结的是:SpringBoot的三大组件(servlet、FIlter、listener)https://www.cnblogs.com/zhaochunhui/p/11343963.html
这一节总结的是servlet的三种内置容器的切换(tomcat、jetty、undertow)
在servlet中默认使用的就是内置的tomcat, 可以进行切换,然后使用其他的jetty、undertow,但是undertow是不支持jsp的,jetty在长连接的情况下使用更舒服(就比如qq聊天这种,可以长时间进行链接) 1)、使用内置的tomcat: 这种情况下,在我们创建项目的时候,导入的web的依赖,就是默认的使用的tomcat <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> 这种情况下,默认启动的就是tomcat 2)、切换jetty 要想切换成jetty的话,上面的导入的web的依赖也要变化, <dependencies> <!--默认使用的就是tomcat--> <!-- 引入web模块 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> <exclusions> <exclusion> <artifactId>spring-boot-starter-tomcat</artifactId> <groupId>org.springframework.boot</groupId> </exclusion> </exclusions> </dependency> <!--引入其他的Servlet容器(jetty/undertow)--> <dependency> <artifactId>spring-boot-starter-jetty</artifactId> <groupId>org.springframework.boot</groupId> </dependency> 这种情况下,在导入的web的最开始的依赖里面也要加入新的内容,然后在下面进行jetty的设定,然后再启动的时候就可以看到是jetty替换tomcat进行启动了 3)、切换undertow 要想切换成undertow的话,上面的导入的web的依赖也要变化, <dependencies> <!--默认使用的就是tomcat--> <!-- 引入web模块 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> <exclusions> <exclusion> <artifactId>spring-boot-starter-tomcat</artifactId> <groupId>org.springframework.boot</groupId> </exclusion> </exclusions> </dependency> <!--引入其他的Servlet容器(jetty/undertow)--> <dependency> <artifactId>spring-boot-starter-undertow</artifactId> <groupId>org.springframework.boot</groupId> </dependency> 这种情况下,在导入的web的最开始的依赖里面也要加入新的内容,然后在下面进行jetty的设定,然后再启动的时候就可以看到是undertow替换tomcat进行启动了 在控制台启动的时候,就可以很简单的查看到启动的容器的方式的变化