yangtingsky 2017-04-19 01:47 采纳率: 0%
浏览 4497

超链接传递的参数为中文编码问题

 <a href="userUpdate.do?uname=${user.UNAME }&upass=${user.UPASS }"   id="updateBtn">编辑</a>|

点击编辑这个超链接按钮,后台报错,报错信息如下:
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.InternalInputBuffer.parseRequestLine(InternalInputBuffer.java:189)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1028)
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$Worker.runTask(ThreadPoolExecutor.java:895)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Thread.java:662)

浏览器页面报错如下:

法找到该网页

HTTP 400

最可能的原因是:
•在地址中可能存在键入错误。
•当你点击某个链接时,它可能已过期。

你可以尝试以下操作:

重新键入地址。

返回到上一页。

转到 并查找你想要的信息。

详细信息

我用的是tomcat7最新版本,看网上有网友说是因为tomcat7版本高,
不允许超链接请求参数为中文等,但是我用注解编程必须基于tomcat7版本的,有没有其他方案可以解决这个问题,在网上搜了一些,发现都没有尝试成功
  • 写回答

2条回答 默认 最新

  • Bug开发攻城狮 2017-04-19 01:55
    关注

    前端,用js的encode编码
    后端,用java.net.decode解码

    评论

报告相同问题?

悬赏问题

  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 保护模式-系统加载-段寄存器