springboot自定义Servlet容器

Spring_Boot专栏
上一篇 主目录 下一篇

【前言】
https://github.com/ShaneHolmes/springboot-project1-ems

什么是web容器?什么是servlet容器
web容器(web服务器)主要有:Apache、IIS、Tomcat、Jetty、JBoss、webLogic等,而Tomcat、Jetty、JBoss、webLogic同时也是servlet容器,或者说他们还包含了servlet容器。没有servlet容器,你也可以用web容器直接访问静态页面,比如安装一个apache等,但是如果要显示jsp/servlet,你就要安装一个servlet容器了,但是光有servlet容器是不够的,因为它要被解析成html输出,所以你仍需要一个web容器。大多数servlet容器同时提供了web容器的功能,也就是说大多servelt容器可以独立运行你的web应用。更多


1 嵌入式Servlet容器

SpringBoot默认使用Tomcat作为嵌入式的Servlet容器;
在这里插入图片描述

1.1 修改默认Servlet容器的相关配置

1.1.1 在配置文件application.properties中修改

application.properties中修改和server有关的配置

server.port=8081
server.context-path=/crud

server.tomcat.uri-encoding=UTF-8

//通用的Servlet容器设置
server.xxx
//Tomcat的设置
server.tomcat.xxx
1.1.2 通过Servlet容器的定制器来修改

编写一个EmbeddedServletContainerCustomizer:嵌入式的Servlet容器的定制器;来修改Servlet容器的配置
springboot2.X版本用以下配置:
config/MyMvcConfig.class

@Configuration
public class MyMvcConfig implements WebMvcConfigurer {
   
   
    @Bean
    public WebServerFactoryCustomizer<ConfigurableWebServerFactory> webServerFactoryCustomizer(){
   
   
        return new WebServerFactoryCustomizer<ConfigurableWebServerFactory>() {
   
   
            @Override
            public void customize(ConfigurableWebServerFactory factory) {
   
   
                factory.setPort(8888);
            }
        };
    }
}

在这里插入图片描述

1.2 注册Servlet三大组件Servlet、Filter、Listener

由于SpringBoot默认是以jar包的方式启动嵌入式的Servlet容器来启动SpringBoot的web应用,没有web.xml文件。

注册三大组件用以下方式

ServletRegistrationBean

//注册三大组件
@Bean
public ServletRegistrationBean myServlet(){
   
   
    ServletRegistrationBean registrationBean = new ServletRegistrationBean(new MyServlet(),"/myServlet");
    return registrationBe
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值