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 sqlite 附加(attach database)加密数据库时,返回26是什么原因呢?
  • ¥88 找成都本地经验丰富懂小程序开发的技术大咖
  • ¥15 如何处理复杂数据表格的除法运算
  • ¥15 如何用stc8h1k08的片子做485数据透传的功能?(关键词-串口)
  • ¥15 有兄弟姐妹会用word插图功能制作类似citespace的图片吗?
  • ¥200 uniapp长期运行卡死问题解决
  • ¥15 latex怎么处理论文引理引用参考文献
  • ¥15 请教:如何用postman调用本地虚拟机区块链接上的合约?
  • ¥15 为什么使用javacv转封装rtsp为rtmp时出现如下问题:[h264 @ 000000004faf7500]no frame?
  • ¥15 乘性高斯噪声在深度学习网络中的应用