zoukankan      html  css  js  c++  java
  • 写自定义的过滤器时切记要注意编码的问题

    在写自定义的过滤器(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编码格式
  • 相关阅读:
    手把手教你写vue插件并发布(一)
    npm 换源
    ajax上传文件显示进度
    angularjs的表单验证
    利用公钥认证登录远程服务器
    centos 搭建 leanote
    读书笔记-JavaScript高级程序设计(1)
    C++读写TXT文件中的string或者int型数据以及string流的用法
    不相交集ADT--链表实现
    不相交集ADT--数组实现
  • 原文地址:https://www.cnblogs.com/moxuyou/p/5465825.html
Copyright © 2011-2022 走看看