tomcat升级后报错: Invalid character found in the request target.
准备上线一个项目。本地环境有两套环境,一个测试环境,一个正式环境。项目在测试环境已验证测试通过,准备部署到正式环境。但部署后任何一个请求都报错,报错日志如下:
java.lang.IllegalArgumentException: Invalid character found in the request target. The valid characters are defined in RFC 7230 and RFC 3986at org.apache.coyote.http11.InternalInputBuffer.parseRequestLine(InternalInputBuffer.java:189)at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1000)at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:637)at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:318)at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)at java.lang.Thread.run(Thread.java:745)
请求链接的格式:
http://*.*.com/*/gate.do?req={"current_page":"1","page_size":"20","order_status":"00","order_type":"2","id":"006000009"}
折腾了很久,经检查发现,正式环境的tomcat版本与测试环境不一致。
继续查了下资料,原来最新的tomcat新版本增加了一个新特性,就是严格按照 RFC 3986规范进行访问解析,而 RFC 3986规范定义了Url中只允许包含英文字母(a-zA-Z)、数字(0-9)、-_.~4个特殊字符以及所有保留字符(RFC3986中指定了以下字符为保留字符:! * ’ ( ) ; : @ & = + $ , / ? # [ ])。
由于请求中包含了特殊的保留字符,所以tomcat无法正确解析请求参数,导致出错。
解决方法:
1.降低tomcat的版本。
2.采用最新tomcat版本。对请求链接进行编码,并修改对应的过滤器,对所有请求链接进行编码解析处理。
tomcat升级后报错: Invalid character found in the request target.相关推荐
- 【JavaScript问题】JavaScript 请求后台报错 Invalid character found in the request target
文章目录 问题描述 问题分析 解决方法 微信公众号 问题描述 开发中,遇到这么一个问题,前端使用get方式请求SpringMVC的后台控制层方法,但是直接没有进方法断点,就报错了 java.lang. ...
- 后台报错java.lang.IllegalArgumentException: Invalid character found in the request target.
问题描述:启动项目后,当点击页面某一个按钮时,项目出错并且后台报java.lang.IllegalArgumentException: Invalid character found in the r ...
- Invalid character found in the request target. The valid characters are defined in RFC 7230 and RFC
转载:(http://blog.csdn.net/zeroso/article/details/70592179) 错误现象: java.lang.IllegalArgumentException: ...
- invalid character found in the request target 异常
2019独角兽企业重金招聘Python工程师标准>>> 这个异常时因为Tomcat 9不支持请求格式出现"{"等非法字符的问题 因为tomcat版本问题遇到的坑, ...
- 实测解决:SpringBoot 中 Invalid character found in the request target 异常
实测解决:SpringBoot 中 Invalid character found in the request target 异常 原因: SpringBoot 2.0.0 以上都采用内置tom ...
- 绝对好用,解决:Invalid character found in the request target. The valid characters are defined。。。
项目场景: 项目运行中出现的问题 Invalid character found in the request target. The valid characters are defined in ...
- java.lang.IllegalArgumentException: Invalid character found in the request target. The valid charact
Tomcat IllegalArgumentException(Invalid character found in the request target) 问题解决 2018-09-06 线上环境中 ...
- Invalid character found in the request target. 的解决办法
做一个服务器系统,远程服务器没有问题,但是在本地的tomcat下跑就会出现下面的报错: 十月 20, 2017 3:54:27 下午 org.apache.coyote.http11.Abstract ...
- 解Invalid character found in the request target.
解决Invalid character found in the request target. The valid characters are defined in RFC 7230 and RF ...
最新文章
- JVM-10虚拟机性能监控与故障处理工具之【JDK的命令行】
- 介绍求解AX=b:可解性与解的结构
- python多线程爬取斗图啦数据
- [zz]NoSQL对比:Cassandra vs MongoDB vs CouchDB vs Redis vs Riak vs HBase vs Membase vs Neo4j
- leetcode538. 把二叉搜索树转换为累加树
- 使用jquery操作iframe
- cout输出16进制_c++随堂测16优化方案
- python爬虫好学不_python爬虫难学吗
- QT重装系统后的程序异常处理与Windows奔溃导致无法开机的资料备份
- 安卓基础之ContentProvider
- UCI机器学习库和一些相关算法
- 获取select选中的值php,js如何获取select标签选中的值
- Elasticsearch blocked by: [SERVICE_UNAVAILABLE/1/state not recovered / initialized];
- C语言程序设计-跳马问题
- 华3交换机3层vlan隔离配置
- 关于字段超长导致的插入错误的提示信息(value too long for type character varying)
- LVS负载均衡群集——NAT模式实例
- 小程序自定义导航栏返回主页
- 计算机导论以python为舟大纲,清华大学出版社-图书详情-《计算机科学导论——以Python为舟(第3版)》...
- 软件实训之智慧停车需要解决什么痛点和难点