【tomcat】tomcat学习笔记

news2024/9/20 7:15:49

文章目录

  • 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.coloradmin.cn/o/2148328.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Unity 设计模式 之 【什么是设计模式】/ 【为什么要使用设计模式】/ 【架构和设计模式的区别】

Unity 设计模式 之 【什么是设计模式】/ 【为什么要使用设计模式】/ 【架构和设计模式的区别】 目录 Unity 设计模式 之 【什么是设计模式】/ 【为什么要使用设计模式】/ 【架构和设计模式的区别】 一、简单介绍 二、 Unity 设计模式 1、Unity 开发中使用设计模式的特点 2…

LabVIEW软件维护的内容是什么呢?

LabVIEW软件维护涉及多个方面&#xff0c;确保程序的正常运行和长期稳定性。维护内容包括以下几个方面&#xff1a; 1. Bug修复 在开发和运行过程中&#xff0c;可能会出现各种软件问题或缺陷&#xff08;bugs&#xff09;。维护工作之一就是识别这些问题并通过修复程序中的代…

MATLAB 在数学建模中的深入应用:从基础到高级实践

目录 前言 一、MATLAB基础知识 1.1 MATLAB工作环境简介 1.1.1 命令窗口&#xff08;Command Window&#xff09; 1.1.2 工作区&#xff08;Workspace&#xff09; 1.1.3 命令历史&#xff08;Command History&#xff09; 1.1.4 编辑器&#xff08;Editor&#xff09; 1…

独立站冷启动SOP之市场和竞品调研1.0丨出海笔记

大家好&#xff0c;我是出海笔记Club的创始人Alan&#xff0c;过去半年我们做了15期的操盘手面对面&#xff0c;主要围绕的是跨境电商独立站的冷启动&#xff0c;基本上大部分方法和路径我们都覆盖到了。 我把目的&#xff0c;调研内容和可以使用的工具都罗列出来&#xff0c;…

Golang | Leetcode Golang题解之第417题太平洋大西洋水流问题

题目&#xff1a; 题解&#xff1a; type pair struct{ x, y int } var dirs []pair{{-1, 0}, {1, 0}, {0, -1}, {0, 1}}func pacificAtlantic(heights [][]int) (ans [][]int) {m, n : len(heights), len(heights[0])pacific : make([][]bool, m)atlantic : make([][]bool, …

如何使用 maxwell 同步到 redis?

文章目录 1、MaxwellListener2、MxwObject1. 使用Maxwell捕获MySQL变更2. 将Maxwell的输出连接到消息系统3. 从消息系统读取数据并同步到Redis注意事项 1、MaxwellListener package com.atguigu.tingshu.album.listener;import com.alibaba.fastjson.JSON; import org.apache.…

【RabbitMQ】重试机制、TTL

重试机制 在消息从Broker到消费者的传递过程中&#xff0c;可能会遇到各种问题&#xff0c;如网络故障、服务不可用、资源不足等&#xff0c;这些问题都可能导致消息处理失败。为了解决这些问题&#xff0c;RabbitMQ提供了重试机制&#xff0c;允许消息在处理失败之后重新发送…

汇编语言的基本指令及基本使用操作

一、立即数 立即数判断规则&#xff1a; 如果某个数的数值范围是0~255之间&#xff0c;那么这个数一定是立即数&#xff1b; 把某个数展开成2进制&#xff0c;这个数的最高位1至最低位1之间的二进制数序列的位数不能超过8位&#xff1b; 这个数的二进制序列的右边必须为偶数个…

Java-Day02学习

Java-Day02 一维数组 1.声明数组 int[ ] a; //声明数组时不规定数组长度 2.分配空间 a new int[5]; //分配空间: 告诉计算机分配几个连续的空间。eg:scores new int[30]; avgAge new int[6]; name new String[30]; 3.赋值 a [0] 8; //向分配的格子里放数…

结构体易忘点

结构体初始化 当我们去初始化一个结构体的时候&#xff0c;我们常常会按变量顺序初始化&#xff0c;但其实也可以不按顺序&#xff0c;同时也可以部分数据初始化。 结构体对齐 结构体里面的成员有一定的对齐规则&#xff0c;他不是每一个空间都存着有效数据的&#xff0c;有些…

大型语言模型 (LLM) 劫持攻击不断升级,导致每天损失超过 100,000 美元

Sysdig 威胁研究团队 (TRT) 报告称&#xff0c;LLMjacking&#xff08;大型语言模型劫持&#xff09;事件急剧增加&#xff0c;攻击者通过窃取的云凭证非法访问大型语言模型 (LLM)。 这一趋势反映了 LLM 访问黑市的不断增长&#xff0c;攻击者的动机包括个人使用和规避禁令和制…

小米机型“工程固件” 小米13工程资源预览 写入以及nv损坏修复

目前各大品牌机型中。可以录数于小米机型的工程固件最全 最多。这个也由于小米机型的加密机制比较特殊 。每款新机型发布后不久。工程包就会出现。从小米5起始以及红米note4起始都有工程固件。另外在维修行业中。米系机型更换cpu都需要先写入对应的绑定包。然后才可以写入官方m…

C++竞赛初阶L1-16-第七单元-字符串(36~37课)559: T456513 统计数字字符个数

题目内容 输入一行字符&#xff0c;统计出其中数字字符的个数。 输入格式 一行字符串&#xff0c;总长度不超过 255。 输出格式 输出为 1 行&#xff0c;输出字符串里面数字字符的个数。 样例 1 输入 Today is 2021-03-27 样例 1 输出 8 程序代码输出&#xff1a; #i…

idea多模块启动

文章目录 idea多模块启动2018版本的idea2019版本的idea idea多模块启动 2018版本的idea 1.首先看一下view> Tool Windows下有没有Run Dashboard 如果有&#xff0c;点击一下底部的窗口就会出现 如果不存在&#xff0c;执行下一步 2.查看自己项目的工作空间位置 点击 File&…

获取参数

获取querystring参数 querystring 指的是URL中 ? 后面携带的参数&#xff0c;例如&#xff1a;http://127.0.0.1:9090/web?query杨超越。 获取请求的querystring参数的方法如下&#xff1a; 方法1&#xff1a; Query package main// querystringimport ("github.com/…

如何通过IntelliJ IDEA 创建HTML项目

1、什么是IDEA? IntelliJ IDEA 是 JetBrains 开发的一款集成开发环境(IDE),主要用于 Java 编程,但也支持其他编程语言如 Kotlin、Groovy 和 Scala。它的特点包括智能代码补全、代码重构、集成版本控制、调试工具和丰富的插件支持。IDEA 提供了一个直观的用户界面,帮助开发…

ffmpeg面向对象——参数配置秘密探索及其设计模式

ffmpeg支持很多参数配置——拉流配置推流配置等等——那么庞大繁杂的配置项&#xff0c;如果是你&#xff0c;该如何实现呢&#xff1f; 其实看过一点点源码&#xff08;不用全部&#xff09;后发现&#xff0c;就是它的实现也是遵循一个朴素的思想——所谓“大道至简”&#x…

用 Delphi 实现一个基本的网页邮件抓取和发送功能

如何用 Delphi 实现一个基本的网页邮件抓取和发送功能。以下示例仅作为概念验证&#xff0c;实际应用中需要考虑更多的细节和技术问题。 示例&#xff1a;从简单网页抓取邮件并发送 1. 环境准备 假设你已经安装了 Delphi&#xff0c;并且安装了 Indy 组件库。Indy 是一个用于…

用Python提取PowerPoint演示文稿中的音频和视频

将多种格式的媒体内容进行重新利用&#xff08;如PowerPoint演示中的音频和视频&#xff09;是非常有价值的。无论是创建独立的音频文件、提取视频以便在线分发&#xff0c;还是为了未来的使用需求进行资料归档&#xff0c;从演示文稿中提取这些媒体文件可以为多媒体内容的多次…

linux 系统是如何收发数据包

目录 1. 背景 1.1 协议栈的构成 1. 应用层: 2. Socket 层: 3. 传输层 (TCP/UDP): 4. 网络层 (IP): 5. 数据链路层 (MAC): 6. 物理层 (网卡驱动): 1.2 数据包的组成 2. 接收网络数据包的流程 2.1 数据包接收流程概述 2.2 详细步骤说明 2.2.1 网卡接收数据包 2.2.2…