原来项目使用resin运行的,因为发展的需求,需要更换成tomcat,新下载了tomcat7的最新版本Apache Tomcat/7.0.94
jar包反正也会有一堆问题,jsp也有一堆问题(开发和我说,对JSP的格式要求更严谨了,我个人认为是个好事儿)
jar包就是冲突,不过之前做过一些整合,相对还好,今天处理的时候并没有报错
但是在请求一些jsp页面的时候报错了,看了下请求内容,其实没有什么,但是后台有报错
May 23, 2019 11:21:13 AM org.apache.coyote.http11.AbstractHttp11Processor process
INFO: Error parsing HTTP request header
Note: further occurrences of HTTP header parsing errors will be logged at DEBUG level.
java.lang.IllegalArgumentException: Invalid character found in the request target. The valid characters are defined in RFC 7230 and RFC 3986
at org.apache.coyote.http11.InternalAprInputBuffer.parseRequestLine(InternalAprInputBuffer.java:240)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1050)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:637)
修改conf/catalina.properties,最下边加入(其实注释部分也有一句)
org.apache.tomcat.util.buf.UDecoder.ALLOW_ENCODED_SLASH=true
tomcat.util.http.parser.HttpParser.requestTargetAllow=|{}
重启,然后并没有生效感觉
重点修改server.xml
<Connector port="8080" protocol="org.apache.coyote.http11.Http11AprProtocol"
relaxedPathChars="|{}[]," ---需要再加入
relaxedQueryChars="|{}[]," ---需要再加入
connectionTimeout="20000"
redirectPort="8443"
URIEncoding="utf-8"
再重启,进入系统再访问OK了