JDK11 + Tomcat10.1配置踩坑

Tomcat10.1下载与配置环境

之前有使用过JDK8 + tomcat8.5.84,直接下载与自己机器对应位数的zip包,然后配置环境即可。

但是,我们可以直接使用安装器,在安装过程中进行jdk依赖:
在这里插入图片描述
到这个页面选择JDK的安装目录,就可以省去我们配置环境变量
在这里插入图片描述
建议修改安装目录
在这里插入图片描述
无脑点击下一步,安装完成后打开http://localhost:8080,,出现:
在这里插入图片描述
说明Tomcat服务器正常运行

Tomcat端口占用问题

当Tomcat报错或IDEA提示端口被占用时,我们有两种解决方案:

  1. 修改端口号
    打开Tomcat的conf目录,找到server.xml文件
    在这里插入图片描述
    右键编辑,大概在70行,修改port
    在这里插入图片描述

  2. 结束占用8080端口的进程
    打开PowerShell(cmd),输入netstat -ano,查看查看所有的端口占用情况
    在这里插入图片描述
    找到端口对应ID,在任务管理器结束进程
    在这里插入图片描述
    完美解决

JDK没有jre包如何运行Tomcat

也是有两种解决方案

  1. 生成jre包,则和较早版本一样配置
    (这里不赘述。读者自行搜索)
  2. 配置startup.bat文件
    打开Tomcat的bin目录,找到startup.bat文件
    在这里插入图片描述
    end:前加入pause保证页面暂停
    在这里插入图片描述
    然后打开文件,显示如下
    在这里插入图片描述
SET JAVA_HOME = your JDK directory
SET JRE_HOME= your JDK directory

保存后再次打开如下,说明配置成功
在这里插入图片描述
又解决了一个问题!

IDEA运行Web服务控制台中文乱码

我们要知道windows下的cmd的默认编码是GBK编码,而Tomcat控制台默认为UTF-8编码

所以我们的解决思路有:修改cmd的编码或修改Tomcat控制台的编码。
ok,不用多说,大家都能想到把Tomcat控制台编码修改成GBK不是一个明智的选择,这里也不会给出这种解决方案(还请读者自行搜索)
统一编码格式可以方便以后的很多工作
由于修改比较简单,不是主要内容,直接给出连接

不过现在大部分都用PowerShell,就没有这个烦恼了

不过你会发现在IDEA中,控制台依旧是中文乱码…

  1. 在setting修改编码
    将如图所示全部修改成UTF-8在这里插入图片描述
  2. 修改tomcat配置
    点击edit
    在这里插入图片描述
    在vm-options添加-Dfile.encoding=UTF-8
    在这里插入图片描述
  3. 最后一步
    在Help 点击vm options在这里插入图片描述
    打开之后添加-Dfile.encoding=UTF-8,重新启动之后发现问题解决
    在这里插入图片描述

IDEA中JSP脚本多次执行的问题

如我在脚本写了个九九乘法表,可见打印了两次
在这里插入图片描述

在这里插入图片描述
解决方案,关闭after lunch
在这里插入图片描述
在这里插入图片描述
上图已经解决成功,不过需要注意关闭after lunch,不会自动打开网页,而是需要我们手动打开,我们打开时页面被渲染,JSP脚本才会被执行

### Tomcat 10.1.39 对 Java 21 的支持情况 Tomcat 10.1.x 系列的设计目标之一是提供对较新版本的 JDK 的支持,包括长期支持 (LTS) 和短期发布版。具体到 Tomcat 10.1.39 是否支持 Java 21,可以从以下几个方面进行分析: #### 1. **官方文档中的兼容性声明** 根据 Apache Tomcat 官方网站的信息以及相关资料[^2],Tomcat 10.1.x 系列被设计为支持最新的 LTS 版本和其他非 LTS 版本的 JDK。这意味着 Tomcat 10.1.39 应该能够运行在 Java 21 上,因为它是继 Java 17 后的一个短期更新版本。 然而,在实际部署之前,仍需验证是否存在特定的功能限制或已知问题。例如,某些功能可能依赖于底层操作系统的支持或者需要额外的配置调整。 #### 2. **最低和推荐的 JDK 版本** Tomcat 10.1.x 需要至少使用 JDK 11 或更高版本才能正常工作。因此,理论上只要满足此条件即可尝试运行最新版本的 JDK(如 Java 21)。需要注意的是,尽管可以运行,但在生产环境中应进行全面测试以确认稳定性。 #### 3. **HTTP/2 协议的支持需求** 如果计划启用 HTTP/2,则需要特别注意其前提条件——即必须基于 Java 9 及以上版本执行程序。鉴于 Java 21 符合这一标准,所以当采用 Tomcat 10.1.39 并搭配 Java 21 运行时,默认情况下应该具备开启 HTTP/2 所需的能力。 以下是简单的代码片段用于演示如何通过 `JAVA_OPTS` 设置指定 JVM 参数来加载所需的模块: ```bash export JAVA_OPTS="-Djava.awt.headless=true --add-modules java.se.ee" ``` #### 4. **下载与安装指导** 为了获取并正确设置 Tomcat 10.1.39,请参照以下步骤完成必要的准备工作: - 访问官方网站或其他可信渠道下载二进制分发包[^3]; - 将压缩后的文件解压至目标路径下; - 修改环境变量 `CATALINA_HOME` 指向安装位置; - 编辑 `conf/server.xml` 文件定制化服务器属性; 最后一步尤为重要,因为它直接影响到整个 Web 应用的表现形式及其交互方式。 --- ### 结论 综上所述,Tomcat 10.1.39 是完全有可能适配 Java 21 的,并且两者之间的协作不会遇到明显的障碍。不过出于谨慎考虑,强烈建议先在一个隔离的小规模场景里做详尽评估后再推广至更广泛的业务范畴之中去实践运用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值