【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