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

tomcat10乱码怎么解决(tomcat解决乱码问题)因工作原因 需要从根本上优化 tomcat 的配置 故准备从源码入手 看看可以做哪些工作 1 tomcat 下载 tomcat 最新的版本为 9 下载源码的方式有 3 种 1 官方网站 https tomcat apache org download 90 cgi 下载如下 zip 或者 tar gz 解压 最新的 release 版本为 9 0 22 2 github gitclone https

大家好,我是讯享网,很高兴认识大家。



因工作原因,需要从根本上优化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™ SE Runtime Environment (build 1.8.0_91-b15)Java HotSpot™ 64-Bit Server VM (build 25.91-b15, mixed mode)
C:Users86137>ant -versionApache Ant™ version 1.9.14 compiled on March 12 2019

讯享网

编译命令

  •  
讯享网cd \({tomcat.source}ant</pre> <p>或者eclipse支持</p> <ul><li> </li> </ul><pre>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

 

小讯
上一篇 2025-06-08 10:19
下一篇 2025-05-02 17:18

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/136878.html