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


    在写自定义的过滤器(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编码格式
  • 相关阅读:
    Java SSL证书的安装
    zookeeper集群配置
    ERROR org.apache.zookeeper.ClientCnxn:532
    线程池c3p0和dbcp2的配置初始化实例
    SIP/2.0 403 Forbidden(Invalid domain in From: header)
    OkHttp实现文件上传进度
    Http 缓存机制
    Cookie、Session 和 Token区别
    RecyclerView-- 侧滑删除和拖动排序
    RecyclerView--添加头部和底部
  • 原文地址:https://www.cnblogs.com/moxuyou/p/5465825.html
Copyright © 2020-2023  润新知