springboot配置嵌入式servlet容器的方法
#代码知识 发布时间: 2026-01-12
配置嵌入式Servlet容器

springboot默认tomcat为嵌入式servlet容器,所以不用在配置tomcat。
1.如何定制修改servlet容器?
1.在applicatio.properties里修改和server有关的配置(推荐)
如:
server.tomcat server.tomcat.connection-timeout= 连接超时时间 server.tomcat.uri-encoding=UTF-8 修改编码
server.servlet.XXX 通用servlet容器设置
server.tomcatXXX 一般是Tomcat的设置
2.通过代码的方式修改配置
-编写一个配置类 @Configuration 注解即可
-在里面添加一个ConfigurableServletWebServerFactory定制器
@Bean
public ConfigurableServletWebServerFactory configurableServletWebServerFactory(){
TomcatServletWebServerFactory factory = new TomcatServletWebServerFactory();//这里是一个工厂
factory.setPort(8088);//修改端口号
//factory.setContextPath("/lanqiao518");
return factory;
}
-返回定制器,并注入到容器中 @Bean ,这个时候就配置好了
3.注册Servlet三大组件(servlet、Listener【监听器】,Filter【过滤器】)
首先要自己写一个类,分别实现三大组件自己的接口然后才能添加进容器中
这里以servlet为例:
Servlet:
public class MyServlet extends HttpServlet {//写好servlet下一步给他添加进容器中
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
doPost(req,resp);
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
resp.setContentType("text/html;charset=utf-8");
resp.setCharacterEncoding("utf-8");
resp.getWriter().write("hello 你好");
}
}
listener:
public class Mylistener implements ServletContextListener {
@Override
public void contextInitialized(ServletContextEvent sce) {
System.out.println("项目启动了————————————————————————");
}
@Override
public void contextDestroyed(ServletContextEvent sce) {
System.out.println("项目关闭了————————————————————————");
}
}
Filter:
public class MyFilter implements Filter {
@Override
public void init(FilterConfig filterConfig) throws ServletException {
}
@Override
public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
System.out.println("MyFilter拦截了----------------------");
filterChain.doFilter(servletRequest,servletResponse);//然后放行
}
@Override
public void destroy() {
}
}
1.将自己写的servlet注入容器:
@Configuration
public class MyServletConfig {
//将自己写的servlet添加进容器
@Bean
public ServletRegistrationBean myServlet(){
ServletRegistrationBean registrationBean=new ServletRegistrationBean(new MyServlet(),"/my");//将自己写的servlet添加进来,并给一个访问路径
return registrationBean;
}
}
2.将自己写的Linstener注入容器
@Bean
public ServletListenerRegistrationBean myListener() {
ServletListenerRegistrationBean listenerRegistrationBean = new ServletListenerRegistrationBean(new Mylistener());//传一个自己写的监听器即可
return listenerRegistrationBean;
}
3.将自己写的Filter注入容器
@Bean
public FilterRegistrationBean myFilter(){
FilterRegistrationBean filterRegistrationBean=new FilterRegistrationBean(new MyFilter(),myServlet());//传一个自己写的Filter 和你要拦截的servlet 可以是多个
return filterRegistrationBean;
}
注意:注入时的名称和自己编写的类名一致
上一篇 : Java 实现协程的方法
下一篇 : C语言实现纸牌游戏(小猫钓鱼)
-
SEO外包最佳选择国内专业的白帽SEO机构,熟知搜索算法,各行业企业站优化策略!
SEO公司
-
可定制SEO优化套餐基于整站优化与品牌搜索展现,定制个性化营销推广方案!
SEO套餐
-
SEO入门教程多年积累SEO实战案例,从新手到专家,从入门到精通,海量的SEO学习资料!
SEO教程
-
SEO项目资源高质量SEO项目资源,稀缺性外链,优质文案代写,老域名提权,云主机相关配置折扣!
SEO资源
-
SEO快速建站快速搭建符合搜索引擎友好的企业网站,协助备案,域名选择,服务器配置等相关服务!
SEO建站
-
快速搜索引擎优化建议没有任何SEO机构,可以承诺搜索引擎排名的具体位置,如果有,那么请您多注意!专业的SEO机构,一般情况下只能确保目标关键词进入到首页或者前几页,如果您有相关问题,欢迎咨询!