目录
二、注册Servlet三大组件【Servlet、Filter、Listener】
3、最后一个是ServletListenerRegistrationBean
前言
我们知道SpringBoot默认使用Tomcat作为嵌入式的Servlet容器
我们可以从pom文件中右键查看依赖图:
既然是嵌入式的容器了,于是不禁思考:我们该如何定制和修改Servlet容器的相关参数呢?
一、如何定制和修改Servlet容器的相关配置
1、修改和server有关的配置(ServerProperties【也是EmbeddedServletContainerCustomizer】)例如:
server.port=8081
server.context-path=/crud
我们进入到ServerProperties类中,它来绑定和服务器相关的配置,可以看到还能配置tomcat:
于是我们可以大致总结:通用的Servlet容器设置为server.xxx,那么Tomcat的设置则为server.tomcat.xxx
查看tomcat:
2、编写一个EmbeddedServletContainerCustomizer:嵌入式的Servlet容器的定制器。它也可以用来修改Servlet容器的配置。
2.x版源码中的类已经没有EmbeddedServletContainerCustomizer:
1.x版本是WebServerFactoryCustomizer类,这个类是个接口:
需要注意的是,在此处是规定了一个泛型,否则不能设置服务器属性,对比如下图,下方的方法才是正确的。另外我们需要注意,要想让这个方法起作用,就需要在方法头部加上@Bean,这样springboot才知道它的存在
编写完成后我们启动项目看看,发现端口号的确是配置后的8081: