当前位置: 首页 > article >正文

tomcat编码问题

1.get请求参数(url参数)

客户端编码:get请求是url参数,编码用的是浏览器默认的,也可以指定,用 var encodedValue = encodeURIComponent(value);不过这个编码是utf-8的。

服务端解码:首先tomcat的url参数默认解码方式8.0.30之前是iso8859-1,之后是utf-8。如果要额外指定,需要配置server.xml文件,添加urlencoding=GBK。如果指定了usebodyencodingforurl=true,则会使用表单请求体,context-type的编码。优先级urlencoding更高?

var query = window.location.search;
var form = document.getElementById('loginForm');
var actionUrl = form.action;
var baseUrl = actionUrl.split('?')[0];
var queryParams = actionUrl.split('?')[1];

if (queryParams) {
    var paramsArray = queryParams.split('&');
    var encodedParams = [];

    for (var i = 0; i < paramsArray.length; i++) {
        var param = paramsArray[i];
        var keyValue = param.split('=');
        var key = keyValue[0];
        var value = keyValue[1];
        var encodedValue = encodeURIComponent(value);
        encodedParams.push(key + '=' + encodedValue);
    }

    form.action = baseUrl + '?' + encodedParams.join('&');
}

// 继续表单提交
return true;

post请求:表单数据

1.客户端编码:设置请求头的context-type。

2.服务端解码:默认使用请求头传过来的context-type。要不就设置request.setCharacterEncoding,要不就加个过滤器。


http://www.kler.cn/a/476164.html

相关文章:

  • imageio 图片转mp4 保存mp4
  • 【C++习题】20. 两个数组的交集
  • 【Ubuntu】 Ubuntu22.04搭建NFS服务
  • 计算机网络——网络层—IP数据报与分片
  • SpringBoot日常:集成Kafka
  • 中国科技统计年鉴EXCEL版(2021-2023年)-社科数据
  • 【Elasticsearch】高亮搜索:从原理到Web呈现
  • 【HTML+CSS+JS+VUE】web前端教程-17-css简介
  • LVS 支持 UDP 协议代理
  • ubuntu设置开机无需输入密码自启动todesk
  • selenium python 模拟网页登陆,如何快速知道chrome的html元素的xpath
  • C++字体库开发之字体回退策略十六
  • 键盘鼠标共享工具Barrier(kail与windows操作系统)
  • eVTOL 锂离子电池 TS系列
  • 缓存常见问题
  • ESP32-S3上跑通红外重复码发送(2)
  • 晨辉面试抽签和评分管理系统之一:考生信息管理和编排
  • 腾讯云AI代码助手编程挑战赛-随机数字小游戏
  • KCP解读:C#库类图
  • 快云服务器助手 GetDetail 任意文件读取漏洞复现(附脚本)
  • 在vscode中编写Python的详细步骤
  • 朴素贝叶斯算法:从生活到数学的完整解析
  • jenkins入门12-- 权限管理
  • 小程序textarea组件键盘弹起会遮挡住输入框
  • 【Uniapp-Vue3】原生事件监听及组件内置事件处理
  • SQL 连接(JOIN)