栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Tomcat10踩坑

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Tomcat10踩坑

博客主页:https://tomcat.blog.csdn.net
博主昵称:农民工老王
主要领域:Java、Linux、K8S
期待大家的关注点赞收藏⭐留言

目录
  • servlet的包名有变化
  • Https设置有变化
  • 可能遇到的其他问题
    • 运行Tomcat10的启动程序,却启动了Tomcat8/9
    • 控制台乱码修复

最近的工作中遇到一个任务:让一个war包形式的Java web程序运行在Tomcat10中。经过一些尝试,现已顺利完成任务。在此,把我在使用Tomcat10过程中踩过的坑总结成一篇博客,以作为各位的前车之鉴。

servlet的包名有变化

Tomcat 10 已将servlet的包名从 javax.servlet更改为jakarta.servlet,所以代码中凡是引入了servlet包的地方都需要修改。如果不修改,有很大的概率会遇到一些莫名其妙的报错。

Java代码中可以通过批量的查找替换进行修改。如:

之前的下列代码:

import javax.servlet.Servlet;
import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;

需要修改为:

import jakarta.servlet.Servlet;
import jakarta.servlet.ServletConfig;
import jakarta.servlet.ServletException;
import jakarta.servlet.http.HttpServlet;

还需要将pom.xml中servlet的依赖修改为:


  jakarta.servlet
  jakarta.servlet-api
  5.0.0
  provided



  jakarta.servlet.jsp
  jakarta.servlet.jsp-api
  3.0.0
  provided



  jakarta.servlet.jsp.jstl
  jakarta.servlet.jsp.jstl-api
  2.0.0

Https设置有变化

要实现Https访问,都是修改conf/server.xml,但其配置方式有一些变化。
这是Tomcat 8,Tomcat 9的配置方式:


下面是Tomcat10的配置方式


  
    
  

可能遇到的其他问题 运行Tomcat10的启动程序,却启动了Tomcat8/9

问题情况如图所示:

原因:没有修改环境变量CATALINA_HOME

如果之前安装过Tomcat 8或者9,那么您应该将环境变量CATALINA_HOME修改为Tomcat 10的路径,或者直接删除CATALINA_HOME环境变量。注意:如果是在Windows的控制台中运行,在修改或删除环境变量后,需要重启控制台才能生效。

控制台乱码修复

在启动Tomcat后,可能会遇到控制台乱码,这个问题在Windows系统下比较常见,而且Tomcat 8 ,Tomcat 9也会回到这个问题。
问题情况如图所示:

原因:Tomcat的默认日志编码与控制台的字符编码不一致。
建议修改Tomcat的日志编码,将conf/logging.properties中的

java.util.logging.ConsoleHandler.encoding = UTF-8

修改为

java.util.logging.ConsoleHandler.encoding = GBK

如需转载,请注明本文的出处:农民工老王的CSDN博客https://blog.csdn.net/monarch91 。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/840417.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号