• 写自定义的过滤器时切记要注意编码的问题


    在写自定义的过滤器(filter)的时候,一定要注意项目的编码格式问题,因为客户端向服务端发送的一个request,默认编码书上貌似说的是iso-8859-1,而如果页面编码格式不是iso-8859-1(我一般是设置为utf-8)的话,就会出现乱码问题,一直找原因都找不到,后来才发现是在过滤器中没有设置编码格式,设置一下编码格式就解决了!
    request.setCharacterEncoding("utf-8");
    但是也有人这样说:
    客户端发送的是请求头,而参数会根据你当前页面的编码方式进行编码之后发送给服务器
    如果是utf-8,那就会根据utf-8进行编码发送给服务器.

    如果是jsp文件可以用page指令的contentType属性来设置显示的编码方式.
    html文件可以利用<meta>标签模拟请求消息头

    而tomcat服务器是默认采用iso-8859-1来对请求消息进行解码的,如果前后不一就很容易出现乱码问题.如果是post请求只需要设置request.setCharacterEncoding()与请求消息编码前的编码方式一样就可以.
    如果是get请求,tomcat默认的是用iso-8859-1来进行解码,此时request.setCharacterEncoding()不起作用,可以在tomcat的server.xml的Connector元素的useBodyEncodingForURI="true"使得起作用
    所以具体的情况也不太了解,总之以后再自定义filter的时候切记要设置request编码格式
  • 相关阅读:
    结合P2P软件使用Ansible分发大文件
    Centos7 上安装 FastDFS
    go在centos配置以及go mod配置
    代理
    笔记本安装ubuntu18.08,解决过程中出现的各种问题
    CentOS7设置自定义开机启动脚本,添加自定义系统服务
    gitlab忘记密码找回
    zabbix配置短信报警
    将博客搬至CSDN
    RT-Thread-stm32f769-qspi-flash移植
  • 原文地址:https://www.cnblogs.com/moxuyou/p/5465825.html
Copyright © 2020-2023  润新知