tomcat启动报错(警告: Character [[] is not allowed and will continue to be rejected.)
TOMCAT启动报错一:
<font color='red'>十月 31, 2022 2:07:10 下午 org.apache.tomcat.util.http.parser.HttpParser <clinit>
警告: Character [[] is not allowed and will continue to be rejected.</font>
解决方法:
Tomcat 不允许在 URL 中使用特殊字符,例如|{}[]. 有两种方法可以避免这个错误。
如果您的特殊字符是其中之一|{},您可以conf\catalina.properties直接添加如下配置:
tomcat.util.http.parser.HttpParser.requestTargetAllow=|{}
如果您的特殊字符是其他一些字符,您可以conf\server.xml像下面这样配置:
<Connector port="8075" protocol="HTTP/1.1" relaxedQueryChars='|[]'connectionTimeout="20000" redirectPort="8443" />
TOMCAT启动报错二:
tomcat启动报错,具体报错信息如下:
Unable to complete the scan for annotations for web application [/Ftrans] due to a StackOverflowError.
Possible root causes include a too low setting for -Xss and illegal cyclic inheritance dependencies.
The class hierarchy being processed was
[org.jaxen.util.AncestorAxisIterator->org.jaxen.util.AncestorOrSelfAxisIterator->org.jaxen.util.AncestorAxisIterator]
根据报错信息提示,好像是调整-Xss的大小,但这个并不是问题的所在,看后面的错误信息tomcat是在扫描org.jaxen.util.AncestorAxisIterator这个类的时候报错,所以解决方法有两个:
解决方法:
一、忽略tomcat启动时扫描jar包
tomcat8.0:
打开在tomcat的conf目录里面catalina.properties的文件,
tomcat.util.scan.StandardJarScanFilter.jarsToSkip=
改为tomcat.util.scan.DefaultJarScanner.jarsToSkip=,*
tomcat8.5:
打开在tomcat的conf目录里面catalina.properties的文件,
tomcat.util.scan.StandardJarScanFilter.jarsToSkip=
改为tomcat.util.scan.StandardJarScanFilter.jarsToSkip=,*
二、更新jar包
更好的解决方案是更新jar包,更新Jaxen-1.1.6和dom4j-1.6.1两个jar包
查看Tomcat线程数
1、Tomcat默认线程数200
2、修改server.xml文件,增加maxThreads、minSpareThreads、maxSpareThreads、acceptCount
3、参数解释
maxThreads=“1000” 最大并发数
minSpareThreads=“100”///初始化时创建的线程数
maxSpareThreads=“500”///一旦创建的线程超过这个值,Tomcat就会关闭不再需要的socket线程。
acceptCount=“700”// 指定当所有可以使用的处理请求的线程数都被使用时,可以放到处理队列中的请求数,超过这个数的请求将不予处理
4、注意:线程数的增加会增加Tomcat内存使用,每个线程都会占用一定的jvm内存。