如何定制和修改Servlet容器的相關配置
- 修改定制和修改Servlet容器的相關配置
server.port=8081
server.context-path=/crudserver.tomcat.uri-encoding=UTF-8//通用的Servlet容器設置
server.xxx
//Tomcat的設置
server.tomcat.xxx
編寫一個EmbeddedServletContainerCustomizer,2.0以后改為WebServerFactoryCustomizer
:嵌入式的Servlet容器的定制器;來修改Servlet容器的配置?
@Configuration
public class MyMvcConfig implements WebMvcConfigurer {@Beanpublic WebServerFactoryCustomizer webServerFactoryCustomizer() {return new WebServerFactoryCustomizer<ConfigurableWebServerFactory>() {@Overridepublic void customize(ConfigurableWebServerFactory factory) {factory.setPort(8088);}};}
......
注冊Servlet三大組件
?由于SpringBoot默認是以jar包的方式啟動嵌入式的Servlet容器來啟動SpringBoot的web應用,沒有web.xml文件
Servlet
向容器中添加ServletRegistrationBean
@Configuration
public class MyMvcConfig implements WebMvcConfigurer {@Beanpublic ServletRegistrationBean myServlet() {ServletRegistrationBean register = new ServletRegistrationBean(new MyServlet(), "/myServlet");register.setLoadOnStartup(1);return register;}......
Filter
@Configuration
public class MyMvcConfig implements WebMvcConfigurer {@Beanpublic FilterRegistrationBean myFilter() {FilterRegistrationBean register = new FilterRegistrationBean(new MyFilter());register.setUrlPatterns(Arrays.asList("/myServlet","/"));return register;}......
Listener
@Configuration
public class MyMvcConfig implements WebMvcConfigurer {@Beanpublic ServletListenerRegistrationBean myServletContextListener(){return new ServletListenerRegistrationBean(new MyServletContextListener());}......
?
?
?