Spring Boot中以代码方式配置Tomcat
2024-09-06 07:03:05
在Spring Boot2.0以上配置嵌入式Servlet容器时EmbeddedServletContainerCustomizer类不存在,经网络查询发现被WebServerFactoryCustomizer替代.
Spring Boot 1.0中:
通用配置举例
@Component
public static class CustomServletContainer implements EmbeddedServletContainerCustomizer{
@Override
public void customize(ConfigurableEmbeddedServletContainer container) {
container.setPort();//配置端口
container.addErrorPages(new ErrorPage(HttpStatus.NOT_FOUND, "/404.html"));//配置错误页面
container.setSessionTimeout(,TimeUnit.MINUTES);//配置用户会话过期时间
} }
特定配置举例
以Tomcat为例。
@Bean
public EmbeddedServletContainerFactory servletContainer() {
TomcatEmbeddedServletContainerFactory factory = new TomcatEmbeddedServletContainerFactory();
factory.setPort();
factory.setSessionTimeout(, TimeUnit.MINUTES);
factory.addErrorPages(new ErrorPage(HttpStatus.NOT_FOUND, "/404.html"));
return factory;
}
在springboot2.0之后
@FunctionalInterface
public interface WebServerFactoryCustomizer<T extends WebServerFactory> {
void customize(T factory);
}
package springboot.configure; import org.springframework.boot.web.server.ConfigurableWebServerFactory;
import org.springframework.boot.web.server.ErrorPage;
import org.springframework.boot.web.server.WebServerFactoryCustomizer;
import org.springframework.http.HttpStatus;
import org.springframework.stereotype.Component;
@Component
public class CustomServletContainer implements WebServerFactoryCustomizer<ConfigurableWebServerFactory>{
@Override
public void customize(ConfigurableWebServerFactory factory) {
factory.setPort();
factory.addErrorPages(new ErrorPage(HttpStatus.NOT_FOUND,"/404.html"));
} }
@Bean
public ConfigurableServletWebServerFactory webServerFactory() {
TomcatServletWebServerFactory factory = new TomcatServletWebServerFactory();
factory.setPort();
factory.setUriEncoding();//只能设置session,session过期时间只能在配置文件中配置
return factory;
}
最新文章
- Servlet的生命周期+实现方式
- Codeforces Round #383 (Div. 2) A,B,C,D 循环节,标记,暴力,并查集+分组背包
- linux下重启mysql php nginx
- SGU 104
- js 字符及字符串
- TIOBE.2017.01最新编程语言排行榜
- MyBatis第一个项目示例
- sqlite3 C接口
- 过渡到SSAS之一:简单模型认识
- Max Sum(最大子序和)
- 干货 | SSMS客户端连接京东云RDS SQL Server配置方法
- Hdoj 1789 Doing Homework again 题解
- 调研IOS的开发环境的发展演变
- 使用 Apache Web 配置多个站点
- LOJ6041 SAM+set+树状数组
- CUDA cufftPlanMany的用法_31通道32*8像素的FFT
- 一、Delphi中Cxgrid表格滚动条粗细设置
- 198. House Robber(动态规划)
- Linux安装MariaDB+初始化数据库
- golang learning