准备上线一个项目。本地环境有两套环境,一个测试环境,一个正式环境。项目在测试环境已验证测试通过,准备部署到正式环境。但部署后任何一个请求都报错,报错日志如下:

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.相关推荐

  1. 【JavaScript问题】JavaScript 请求后台报错 Invalid character found in the request target

    文章目录 问题描述 问题分析 解决方法 微信公众号 问题描述 开发中,遇到这么一个问题,前端使用get方式请求SpringMVC的后台控制层方法,但是直接没有进方法断点,就报错了 java.lang. ...

  2. 后台报错java.lang.IllegalArgumentException: Invalid character found in the request target.

    问题描述:启动项目后,当点击页面某一个按钮时,项目出错并且后台报java.lang.IllegalArgumentException: Invalid character found in the r ...

  3. 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: ...

  4. invalid character found in the request target 异常

    2019独角兽企业重金招聘Python工程师标准>>> 这个异常时因为Tomcat 9不支持请求格式出现"{"等非法字符的问题 因为tomcat版本问题遇到的坑, ...

  5. 实测解决:SpringBoot 中 Invalid character found in the request target 异常

    实测解决:SpringBoot 中 Invalid character found in the request target 异常 ​ 原因: SpringBoot 2.0.0 以上都采用内置tom ...

  6. 绝对好用,解决: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 ...

  7. 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 线上环境中 ...

  8. Invalid character found in the request target. 的解决办法

    做一个服务器系统,远程服务器没有问题,但是在本地的tomcat下跑就会出现下面的报错: 十月 20, 2017 3:54:27 下午 org.apache.coyote.http11.Abstract ...

  9. 解Invalid character found in the request target.

    解决Invalid character found in the request target. The valid characters are defined in RFC 7230 and RF ...

最新文章

  1. JVM-10虚拟机性能监控与故障处理工具之【JDK的命令行】
  2. 介绍求解AX=b:可解性与解的结构
  3. python多线程爬取斗图啦数据
  4. [zz]NoSQL对比:Cassandra vs MongoDB vs CouchDB vs Redis vs Riak vs HBase vs Membase vs Neo4j
  5. leetcode538. 把二叉搜索树转换为累加树
  6. 使用jquery操作iframe
  7. cout输出16进制_c++随堂测16优化方案
  8. python爬虫好学不_python爬虫难学吗
  9. QT重装系统后的程序异常处理与Windows奔溃导致无法开机的资料备份
  10. 安卓基础之ContentProvider
  11. UCI机器学习库和一些相关算法
  12. 获取select选中的值php,js如何获取select标签选中的值
  13. Elasticsearch blocked by: [SERVICE_UNAVAILABLE/1/state not recovered / initialized];
  14. C语言程序设计-跳马问题
  15. 华3交换机3层vlan隔离配置
  16. 关于字段超长导致的插入错误的提示信息(value too long for type character varying)
  17. LVS负载均衡群集——NAT模式实例
  18. 小程序自定义导航栏返回主页
  19. 计算机导论以python为舟大纲,清华大学出版社-图书详情-《计算机科学导论——以Python为舟(第3版)》...
  20. 软件实训之智慧停车需要解决什么痛点和难点

热门文章

  1. js 数据类型和转化
  2. 中国移动宽带业务怎么样?和电信的比有什么不同?
  3. 《潮流时装设计——世界顶级时装CAD制板技巧》——1.6 服装生产中各部位国际代号...
  4. SpringMVC + MyBatis整合 【转】
  5. 再次陷入迷惘期的一点感想
  6. iOS 本地时间与GMT时间相互转换
  7. log4j显示hibernate sql参数的配置
  8. 高性能IO之Reactor模式
  9. linux 文件编码问题
  10. 容量和速度是选购闪存盘的关键