当前位置: 首页 > article >正文

【tomcat】tomcat学习笔记

文章目录

  • 1.tomcat乱码问题
    • 1.1 linux乱码中文显示乱码问号问题
    • 1.2windows乱码
      • 1.2.1 方式一
      • 1.2.2方式二
    • 1.3 Idea中运行tomcat乱码问题
  • 2. 获取tomcat启动端口号
  • 3. idea运行tomcat 的配置问题
  • 4.dockerfile构建tomcat镜像问题
    • 4.1 替换端口号
  • 5.启动多个tomcat方法
  • 6.修改tomcat JAVA_HOME环境变量
  • 7. 启动报错
  • 8.jdk版本对应

1.tomcat乱码问题

1.1 linux乱码中文显示乱码问号问题

启动文件中catalina.sh添加

JAVA_OPTS="$JAVA_OPTS -Djavax.servlet.request.encoding=UTF-8 -Dfile.encoding=UTF-8 -Duser.language=zh_CN -Dsun.jnu.encoding=UTF-8"

在这里插入图片描述
(最好单独放在一个脚本 setenv.sh中,要chmod +777 setenv.sh)
在这里插入图片描述

1.2windows乱码

1.2.1 方式一

在这里插入图片描述

1.2.2方式二

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

1.3 Idea中运行tomcat乱码问题

同样修改java.util.logging.ConsoleHandler.encoding = GBK

2. 获取tomcat启动端口号

MBeanServer beanServer = ManagementFactory.getPlatformMBeanServer();
try {
    QueryExp protocol = Query.match(Query.attr("protocol"), Query.value("HTTP/1.1"));
    ObjectName name = new ObjectName("*:type=Connector,*");
    Set<ObjectName> objectNames = beanServer.queryNames(name, protocol);
    for (ObjectName objectName : objectNames) {
        String catalina = objectName.getDomain();
        if ("Catalina".equals(catalina)) {
            port=objectName.getKeyProperty("port");
        }
    }
} catch (MalformedObjectNameException e) {
    e.printStackTrace();
}    

3. idea运行tomcat 的配置问题

在这里插入图片描述

4.dockerfile构建tomcat镜像问题

4.1 替换端口号

RUN sed -i ‘s|“8080”|“6098”|g’ server.xml

5.启动多个tomcat方法

tomcat服务器需配置三个端口才能启动,安装时默认启用了这三个端口,当要运行多个tomcat服务时需要修改这三个端口,不能相同。
端口一:
修改Shutdown远程停服务端口(默认为8005端口) <Server port="19080" shutdown="SHUTDOWN">

端口二:
修改http访问端口(默认为8080端口),配置文件为tomcat\ conf\service.xml
<Connector port="9080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" /> 
<!-- A "Connector" using the shared thread pool-->
<!-- <Connector executor="tomcatThreadPool" port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />


端口三:(如果没有用到,可以不修改,因为有点版本是注释的)
修改AJP端口(默认为8009端口) <!-- Define an AJP 1.3 Connector on port 8009 --> 
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />

6.修改tomcat JAVA_HOME环境变量

bin目录下setclasspath.sh
默认配置为
在这里插入图片描述
自定义配置后(如果没有配置系统环境变量的话)
在这里插入图片描述

7. 启动报错

https://www.jiweichengzhu.com/article/4920ecca8a784a4b92d449afe3fe76e5
在这里插入图片描述
去logs中找到localhost日志;
在这里插入图片描述
发现这个包版本不对,更新包.

8.jdk版本对应

JDK版本在官方对应的版本号列表如下:

JDK 8.0 = 52,
JDK 7.0 = 51,
JDK 6.0 = 50,
JDK 5.0 = 49,
JDK 1.4 = 48,
JDK 1.3 = 47,
JDK 1.2 = 46,
JDK 1.1 = 45

http://www.kler.cn/a/315990.html

相关文章:

  • QT<30> Qt中使鼠标变为转圈忙状态
  • 【设计模式】行为型模式(二):策略模式、命令模式
  • Python数据类型(一):bool布尔类型
  • 数据库SQL——连接表达式(JOIN)图解
  • AMD CPU下pytorch 多GPU运行卡死和死锁解决
  • IPguard与Ping32全面对比——选择最适合企业的数据安全解决方案
  • 垃圾邮件检测_TF-IDF分析,聚类分析与朴素贝叶斯
  • spring springboot 日志框架
  • 光伏行业的酸洗与深度除氟
  • 零信任安全架构--分段网络
  • 实战OpenCV之直方图
  • ESP32-WROOM-32 [ESP连接路由器+TCP Client 透传 + TCP Server数据发送]
  • 网络安全:构建数字世界的坚实防线
  • ps学习。
  • 经典大语言模型解读(3):参数量更大、泛化性能更强的生成式模型GPT-2
  • 低代码开发平台系统架构概述
  • js进阶——函数作用域和块作用域
  • 卷积神经网络(CNN):深度学习中的视觉奇迹
  • 【论文阅读】Benchmarking Retrieval-Augmented Generation for Medicine
  • Redis 持久化数据
  • 【详细解答】指出下面指令的错误:IN AL,300H
  • MySQL高阶1939-主动请求确认消息的用户
  • 占用消防通道监测摄像机
  • MyBatis-Plus 插件扩展
  • linux强制关闭再启动后zookeeper无法启动
  • 使用Python免费将pdf转为docx