当前位置:网站首页 > C++编程 > 正文

tomcat10乱码怎么解决(tomcat解决乱码问题)



因工作原因,需要从根本上优化tomcat的配置,故准备从源码入手,看看可以做哪些工作。

编译Tomcat9源码及tomcat乱码问题解决_tomcat

1. tomcat下载

tomcat最新的版本为9,下载源码的方式有3种:

1/ 官方网站 https://tomcat.apache.org/download-90.cgi,下载如下zip或者tar.gz解压,最新的release版本为9.0.22

编译Tomcat9源码及tomcat乱码问题解决_tomcat_02

2/github

  gitclone https://github.com/apache/tomcat.git 或者下载压缩包,gitclone得到tomcat目录

     压缩包默认得到tomcat-master目录,如下图所示

编译Tomcat9源码及tomcat乱码问题解决_tomcat_03

3/svn

  https://svn.apache.org/repos/asf/tomcat/trunk/

2. tomcat的编译

  准备工作

  •  
C:Users86137>java -versionjava version "1.8.0_91"Java(TM) SE Runtime Environment (build 1.8.0_91-b15)Java HotSpot(TM) 64-Bit Server VM (build 25.91-b15, mixed mode)
C:Users86137>ant -versionApache Ant(TM) version 1.9.14 compiled on March 12 2019

编译命令

  •  
cd ${tomcat.source}ant

或者eclipse支持

  •  
cd ${tomcat.source}ant ide-eclipse

3.导入ide(eclipse为例)

  准备工作

  增加两个classpath变量

编译Tomcat9源码及tomcat乱码问题解决_tomcat_04

   导入

 4.启动

   配置1 编译Tomcat9源码及tomcat乱码问题解决_tomcat_05

配置2编译Tomcat9源码及tomcat乱码问题解决_tomcat_06

 

 启动成功

5. 可能出现的问题

  tomcat 显示乱码,-Dfile.encoding=UTF8 或者GBK 都不行,网上各种回答都不能根本解决问题。调试VersionLoggerListener进行发现

编译Tomcat9源码及tomcat乱码问题解决_tomcat_07

修改-Dfile.encoding=UTF8 或者GBK 都 能起效,但乱码仍然不能解决。

进入StringManager sm变量发现,local为zh_cn时,启用的属性文件本身的编码就是乱码,尝试了不少解决办法如修改eclipse的默认方式为utf-8 都不行,网上各种方式也试过。

均不好用。那我们就绕过去吧,将local设置为us不容易报错。修改启动参数,如下所示。

编译Tomcat9源码及tomcat乱码问题解决_tomcat_08

 

 此时,启动显示如下:(全部英文,不再乱码)

  •  
Jul 22, 2019 7:17:10 PM org.apache.catalina.startup.VersionLoggerListener logINFO: UTF-8Jul 22, 2019 7:17:10 PM org.apache.catalina.startup.VersionLoggerListener logINFO: Server version name: Apache Tomcat/9.0.x-devJul 22, 2019 7:17:10 PM org.apache.catalina.startup.VersionLoggerListener logINFO: Server built: unknownJul 22, 2019 7:17:10 PM org.apache.catalina.startup.VersionLoggerListener logINFO: Server version number: 9.0.xJul 22, 2019 7:17:10 PM org.apache.catalina.startup.VersionLoggerListener logINFO: OS Name: Windows 10Jul 22, 2019 7:17:10 PM org.apache.catalina.startup.VersionLoggerListener logINFO: OS Version: 10.0Jul 22, 2019 7:17:10 PM org.apache.catalina.startup.VersionLoggerListener logINFO: Architecture: amd64Jul 22, 2019 7:17:10 PM org.apache.catalina.startup.VersionLoggerListener logINFO: Java Home: C:Program FilesJavajdk1.8.0_91jreJul 22, 2019 7:17:10 PM org.apache.catalina.startup.VersionLoggerListener logINFO: JVM Version: 1.8.0_91-b15Jul 22, 2019 7:17:10 PM org.apache.catalina.startup.VersionLoggerListener logINFO: JVM Vendor: Oracle CorporationJul 22, 2019 7:17:10 PM org.apache.catalina.startup.VersionLoggerListener logINFO: CATALINA_BASE: C:workspace omcatoutputbuildJul 22, 2019 7:17:10 PM org.apache.catalina.startup.VersionLoggerListener logINFO: CATALINA_HOME: C:workspace omcatoutputbuildJul 22, 2019 7:17:10 PM org.apache.catalina.startup.VersionLoggerListener logINFO: Command line argument: -Xmx10240mJul 22, 2019 7:17:10 PM org.apache.catalina.startup.VersionLoggerListener logINFO: Command line argument: -Dfile.encoding=UTF8Jul 22, 2019 7:17:10 PM org.apache.catalina.startup.VersionLoggerListener logINFO: Command line argument: -Dcatalina.home=C:workspace omcatoutputbuildJul 22, 2019 7:17:10 PM org.apache.catalina.startup.VersionLoggerListener logINFO: Command line argument: -Duser.language=enJul 22, 2019 7:17:10 PM org.apache.catalina.startup.VersionLoggerListener logINFO: Command line argument: -Duser.region=USJul 22, 2019 7:17:10 PM org.apache.catalina.core.AprLifecycleListener lifecycleEventINFO: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: [C:Program FilesJavajdk1.8.0_91bin;C:WindowsSunJavabin;C:Windowssystem32;C:Windows;C:/Program Files/Java/jdk1.8.0_91/bin/https://blog.51cto.com/jre/bin/server;C:/Program Files/Java/jdk1.8.0_91/bin/https://blog.51cto.com/jre/bin;C:/Program Files/Java/jdk1.8.0_91/bin/https://blog.51cto.com/jre/lib/amd64;C:Program FilesJavajdk1.8.0_91bin;C:Windowssystem32;C:Windows;C:WindowsSystem32Wbem;C:WindowsSystem32WindowsPowerShellv1.0;C:WindowsSystem32OpenSSH;C:Program Files (x86)NVIDIA CorporationPhysXCommon;C:Program FilesNVIDIA CorporationNVIDIA NvDLISR;C:Program FilesIntelWiFibin;C:Program FilesCommon FilesIntelWirelessCommon;C:Program FilesGitcmd;C:Program FilesTortoiseGitbin;C:softwareapache-ant-1.9.4bin;C:Users86137AppDataLocalMicrosoftWindowsApps;;C:softwarests-4.3.1.RELEASE;;.]Jul 22, 2019 7:17:12 PM org.apache.coyote.AbstractProtocol initINFO: Initializing ProtocolHandler ["http-nio-8080"]Jul 22, 2019 7:17:12 PM org.apache.coyote.AbstractProtocol initINFO: Initializing ProtocolHandler ["ajp-nio-8009"]Jul 22, 2019 7:17:12 PM org.apache.catalina.startup.Catalina loadINFO: Server initialization in [11,311] millisecondsJul 22, 2019 7:17:12 PM org.apache.catalina.core.StandardService startInternalINFO: Starting service [Catalina]Jul 22, 2019 7:17:12 PM org.apache.catalina.core.StandardEngine startInternalINFO: Starting Servlet engine: [Apache Tomcat/9.0.x-dev]Jul 22, 2019 7:17:12 PM org.apache.catalina.startup.HostConfig deployDirectoryINFO: Deploying web application directory [C:workspace omcatoutputbuildwebappsdocs]Jul 22, 2019 7:17:44 PM org.apache.jasper.servlet.TldScanner scanJarsINFO: At least one JAR was scanned for TLDs yet contained no TLDs. Enable debug logging for this logger for a complete list of JARs that were scanned but no TLDs were found in them. Skipping unneeded JARs during scanning can improve startup time and JSP compilation time.Jul 22, 2019 7:17:45 PM org.apache.catalina.util.SessionIdGeneratorBase createSecureRandomWARNING: Creation of SecureRandom instance for session ID generation using [SHA1PRNG] took [331] milliseconds.Jul 22, 2019 7:17:45 PM org.apache.catalina.startup.HostConfig deployDirectoryINFO: Deployment of web application directory [C:workspace omcatoutputbuildwebappsdocs] has finished in [32,358] msJul 22, 2019 7:17:45 PM org.apache.catalina.startup.HostConfig deployDirectoryINFO: Deploying web application directory [C:workspace omcatoutputbuildwebappsexamples]Jul 22, 2019 7:17:48 PM org.apache.jasper.servlet.TldScanner scanJarsINFO: At least one JAR was scanned for TLDs yet contained no TLDs. Enable debug logging for this logger for a complete list of JARs that were scanned but no TLDs were found in them. Skipping unneeded JARs during scanning can improve startup time and JSP compilation time.Jul 22, 2019 7:17:48 PM org.apache.catalina.core.ApplicationContext logINFO: ContextListener: contextInitialized()Jul 22, 2019 7:17:48 PM org.apache.catalina.core.ApplicationContext logINFO: SessionListener: contextInitialized()Jul 22, 2019 7:17:48 PM org.apache.catalina.core.ApplicationContext logINFO: ContextListener: attributeAdded('StockTicker', 'async.Stockticker@71238fc2')Jul 22, 2019 7:17:48 PM org.apache.catalina.startup.HostConfig deployDirectoryINFO: Deployment of web application directory [C:workspace omcatoutputbuildwebappsexamples] has finished in [3,355] msJul 22, 2019 7:17:48 PM org.apache.catalina.startup.HostConfig deployDirectoryINFO: Deploying web application directory [C:workspace omcatoutputbuildwebappshost-manager]Jul 22, 2019 7:17:48 PM org.apache.jasper.servlet.TldScanner scanJarsINFO: At least one JAR was scanned for TLDs yet contained no TLDs. Enable debug logging for this logger for a complete list of JARs that were scanned but no TLDs were found in them. Skipping unneeded JARs during scanning can improve startup time and JSP compilation time.Jul 22, 2019 7:17:48 PM org.apache.catalina.startup.HostConfig deployDirectoryINFO: Deployment of web application directory [C:workspace omcatoutputbuildwebappshost-manager] has finished in [83] msJul 22, 2019 7:17:48 PM org.apache.catalina.startup.HostConfig deployDirectoryINFO: Deploying web application directory [C:workspace omcatoutputbuildwebappsmanager]Jul 22, 2019 7:17:48 PM org.apache.jasper.servlet.TldScanner scanJarsINFO: At least one JAR was scanned for TLDs yet contained no TLDs. Enable debug logging for this logger for a complete list of JARs that were scanned but no TLDs were found in them. Skipping unneeded JARs during scanning can improve startup time and JSP compilation time.Jul 22, 2019 7:17:48 PM org.apache.catalina.startup.HostConfig deployDirectoryINFO: Deployment of web application directory [C:workspace omcatoutputbuildwebappsmanager] has finished in [58] msJul 22, 2019 7:17:48 PM org.apache.catalina.startup.HostConfig deployDirectoryINFO: Deploying web application directory [C:workspace omcatoutputbuildwebappsROOT]Jul 22, 2019 7:17:50 PM org.apache.jasper.servlet.TldScanner scanJarsINFO: At least one JAR was scanned for TLDs yet contained no TLDs. Enable debug logging for this logger for a complete list of JARs that were scanned but no TLDs were found in them. Skipping unneeded JARs during scanning can improve startup time and JSP compilation time.Jul 22, 2019 7:17:50 PM org.apache.catalina.startup.HostConfig deployDirectoryINFO: Deployment of web application directory [C:workspace omcatoutputbuildwebappsROOT] has finished in [1,322] msJul 22, 2019 7:17:50 PM org.apache.coyote.AbstractProtocol startINFO: Starting ProtocolHandler ["http-nio-8080"]Jul 22, 2019 7:17:50 PM org.apache.coyote.AbstractProtocol startINFO: Starting ProtocolHandler ["ajp-nio-8009"]Jul 22, 2019 7:17:50 PM org.apache.catalina.startup.Catalina startINFO: Server startup in [37,521] milliseconds

 

到此这篇tomcat10乱码怎么解决(tomcat解决乱码问题)的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!

版权声明


相关文章:

  • tomcat乱码(tomcat乱码怎么解决idea)2025-10-11 17:45:04
  • ip138.cm查询网身份证(ip138身份证号码查询系统)2025-10-11 17:45:04
  • pcapng文件(pcapng文件分析)2025-10-11 17:45:04
  • ceph存储池(ceph存储池容量阈值)2025-10-11 17:45:04
  • cp15(cp1500怎么连接手机)2025-10-11 17:45:04
  • plc1200上升沿指令下面填啥(plc300上升沿指令)2025-10-11 17:45:04
  • tcp工具包(tcp协议工具)2025-10-11 17:45:04
  • git pull 和git fetch的区别(git pull和git clone区别)2025-10-11 17:45:04
  • can报文解析工具(can总线报文解析)2025-10-11 17:45:04
  • tcp工具支持ipv6(tcp工具支持ipv6吗?)2025-10-11 17:45:04
  • 全屏图片