Spring Boot 探索之旅(四)——定制项目

一、定制Banner

第一步、制作你心仪的banner:

第二步、新建txt文件,重命名为banner.txt,并存入上述文字。

第三步、将建好的banner.txt放置于项目resource目录下。

第四步、启动项目,观察启动图。

二、定制Favicon

第一步、制作心仪的Favicon:

第二步、将制作好的ico取名为favicon.ico,放置在resource/static目录下

第三步、运行测试

三、定制服务器容器

 例:替换tomcat为jetty

        修改pom文件   

 <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
            <!--排除tomcat-->
            <exclusions>
                <exclusion>
                    <groupId>org.springframework.boot</groupId>
                    <artifactId>spring-boot-starter-tomcat</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
            <!--引入jetty-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-jetty</artifactId>
        </dependency>

        替换成功

四、定制HTTPS通信

4.1 支持https

第一步、生成服务端证书

keytool -genkey -alias tomcat -keypass 123456 -keyalg RSA -keysize 1024 -validity 365 -keystore c:/test/data/tomcat.keystore -storepass 123456

第二步、生成客户端证书并添加

keytool -genkey -alias client1 -keypass 123456 -keyalg RSA -keysize 1024 -validity 365 -storetype PKCS12 -keystore C:/test/data/client1.p12 -storepass 123456

谷歌--设置--高级--管理证书

第三步、服务器配置

第四步、运行测试

4.2 同时支持https和http

第一步、通过配置开启https

第二步、通过bean注入添加http

    /**
     * Spring Boot 2.x 方案
     * @return
     */
    @Bean
    public TomcatServletWebServerFactory  containerCustomizer() {

        //创建http连接
        Connector connector = new Connector("org.apache.coyote.http11.Http11NioProtocol");
        connector.setPort(80);
        connector.setScheme("http");
        connector.setSecure(false);
        //跳转至https
        connector.setRedirectPort(443);

        TomcatServletWebServerFactory tomcat=new TomcatServletWebServerFactory(){
            @Override
            protected void postProcessContext(Context context) {
                //对所有请求强制跳转,走安全通信通道
                SecurityConstraint securityConstraint=new SecurityConstraint();
                securityConstraint.setUserConstraint("CONFIDENTIAL");
                SecurityCollection collection=new SecurityCollection();
                collection.addPattern("/*");
                securityConstraint.addCollection(collection);
                context.addConstraint(securityConstraint);
            }
        };
        tomcat.addAdditionalTomcatConnectors(connector);
        return tomcat;
    }

    /**
     * Spring Boot 1.x 方案
     * @return
     */
//    @Bean
//    public EmbeddedServletContainerCustomizer containerCustomizer() {
//        return new EmbeddedServletContainerCustomizer() {
//            @Override
//            public void customize(ConfigurableEmbeddedServletContainer container) {
//                if (container instanceof TomcatEmbeddedServletContainerFactory) {
//                    TomcatEmbeddedServletContainerFactory containerFactory =
//                            (TomcatEmbeddedServletContainerFactory) container;
//                    Connector connector = new Connector(TomcatEmbeddedServletContainerFactory.DEFAULT_PROTOCOL);
//                    connector.setPort(80);
//                    containerFactory.addAdditionalTomcatConnectors(connector);
//                }
//            }
//        };
//    }

第三步、运行测试,出现如下所示,则配置成功

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值