Spring Boot第三天 -Web容器配置(Tomcat)

735 阅读3分钟

这是我参与8月更文挑战的第3天,活动详情查看:8月更文挑战

我是新手,只为记录学习过程,如果有什么疏漏错误,希望大家指出来,不胜感激,谢谢. Spring Boot项目中,可以内置Tomcat,jetty,Undertow,Netty等容器,当咱们添加了第二天说的spring-boot-starter-web依赖后,会默认使Tomcat,想要配置Tomcat的话,可以在application.properties文件中进行配置. 先是咱们最熟悉的Tomcat,那么问题来了这个application.properties文件在哪呢?很简单在resources下面,我们开始设置它,众所周知啊,Tomcat的默认端口是8080,我们把它改一下.代码如下.

server.port=8081
server.error.path=/error
server.servlet.session.timeout=30m
server.servlet.context-path=/demo
server.tomcat.uri-encoding=utf-8
server.tomcat.threads.max=500

截个图方便记忆

image.png

#改的是tomcat的端口号
server.port=8081
#改的是tomcat错误路径的地址
server.error.path=/error
#改的是会话超时时间单位是分钟,不写单位的话默认是秒,但是Tomcat配置session是按照分钟为单位,也就是举个例子,配置179 就会换算出不到三分钟 设定过期时间为两分钟
server.servlet.session.timeout=30m
#改的是项目名称,如果全都不写默认为/
server.servlet.context-path=/demo
#设置tomcat的请求编码
server.tomcat.uri-encoding=utf-8
#设置tomcat的最大线程数
server.tomcat.threads.max=500

相关的配置还有很多很多 具体可以参考 参考文档 docs.spring.io/spring-boot… 贴张图吧

image.png 那么咱们看一下效果,昨天写好了最简单的SpringBoot的HelloWorld,改一下配置看看是否有用,来看结果.

改之前

image.png

改之后

image.png

哎,找不到网页,别害怕,咱们配置文件写的是改了端口号和路径地址,咱们只写了端口号肯定不对,正确的结果是这样.

image.png 不错不错,完成了几天的小目标,在记录一下HTTPS配置吧

Spring Boot的HTTPS配置 HTTPS比http多了一个s 就是安全的意思safe 一些云服务的厂商也提供了免费的证书,javajdk也提供了一个,Keytools,在jdk\bin 目录下

image.png

在这个路径下打开cmd

keytool -genkey -alias tomcat -keyalg RSA -keysize 2048 -keystore https.rsa -validity 365 输入上面的命令:解释一下 让keytool这个工具-生成-别名 (随便起的)-加密算法RSA-密钥长度 2048-存放位置(没有写明的就在当前目录下) 文件名字-有效时间 365天 一点点对应的 可以对照着看.

image.png

image.png

将这个文件复制到项目的根路径下,并配置application.properties文件

#keytool -genkey -alias tomcat -keyalg RSA -keysize 2048 -keystore https.rsa -validity 365
server.ssl.key-store=https.rsa
server.ssl.key-alias=tomcat
server.ssl.key-store-password=123456

效果图 image.png 重启项目,刷新一下网页

image.png

不要紧张看一下提示,这是一个坏的请求,需要主机名和端口号的组合TLS 那么问题来了TLS是什么:传输层安全性协议(来自百度)所以解决方式很明显 +https:// 解决效果图

image.png 这还用他说吗 不花钱不安全,继续前往,冲 最终结果图

image.png

解决问题 最后注意一下,当你配置完了HTTPS之后再用http的方式就会访问失败,需要配置一下请求重定向就可以解决. 2021-8-9 又坚持一天 开心