美文网首页
Tomcat报字符错误的简单处理方法

Tomcat报字符错误的简单处理方法

作者: 页川叶川 | 来源:发表于2019-05-10 13:02 被阅读0次

    运行的项目中的Tomcat报这种错误:

    java.lang.IllegalArgumentException: Invalid character found in the request target. The valid characters are defined in RFC 7230 and RFC 3986
    

    一般是请求中含有Tomcat中不允许出现的字符,楼主这里遇到的是请求中含有中文字符,有些设备在进行请求时无法将这些字符自动转码。

    那么遇到这种情况,只需要简单的对请求方的字符进行编码,然后接受方再讲编码转换为需要的编码即可

    Js中请求的url处理

    var nickName = this.data.userInfo.nickName;
    nickName = encodeURIComponent(nickName);
    nickName = encodeURIComponent(nickName); //建议二次编码
    
    //处理过后的字符可以正常访问
    var that = this;
    var id = e.currentTarget.dataset.id;
    var openid = e.currentTarget.dataset.openid;
    wx.request({
         url: api.ip + 'visitpraise/insertpraise?questionid=' + id + '&nickName=' + nickName + '&openid=' + openid,
         method: 'POST',
         data: {},
         fail: function(){
              wx.showToast({
                   title: '连接错误',
                   icon: 'none'
              })
         }
    })
    

    楼主后台接受请求用的是springboot框架

    @RequestMapping(value ="/inserforumuser",method = RequestMethod.POST)
    public String insertForumuser(Forumuser forumuser){
         String test = getForumuser(forumuser.getOpenid()).get("forumuser").toString();
         if(test.equals("0")){
              String nickName = forumuser.getNickName();
              try {
                   nickName = URLDecoder.decode(nickName,"UTF-8");
                   //此处为转码操作,转码过后为传输过来的中文字符
                   forumuser.setNickName(nickName);
              }catch (UnsupportedEncodingException e) {
                   e.printStackTrace();
              }
              forumuserService.insert(forumuser);
         }
         return "success";
    }
    

    文集推荐:

    Java基础方法集1
    Python基础知识完整版
    Spring Boot学习笔记
    Linux指令进阶
    Java高并发编程
    SpringMVC基础知识进阶
    Mysql基础知识完整版
    健康管理系统学习花絮(学习记录)
    Node.js基础知识(随手笔记)
    MongoDB基础知识
    Dubbo学习笔记
    Vue学习笔记(随手笔记)

    声明:发表此文是出于传递更多信息之目的。若有来源标注错误或侵犯了您的合法权益,请作者持权属证明与本我们(QQ:981086665;邮箱:981086665@qq.com)联系联系,我们将及时更正、删除,谢谢。

    相关文章

      网友评论

          本文标题:Tomcat报字符错误的简单处理方法

          本文链接:https://www.haomeiwen.com/subject/kgtaoqtx.html