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内存。
posted @ 2022-10-31 14:21  鲸鱼zhang  阅读(1381)  评论(0编辑  收藏  举报