过滤器解决中文乱码问题,jsp过滤器解决中文乱码案例

  过滤器解决中文乱码问题,jsp过滤器解决中文乱码案例

  Java中的中文交流经常会出现乱码。我相信你们都遇到过。今天给大家讲一个——滤镜过滤的常用方式。过滤器充当过滤器。当你提交或获取信息时,它会经过过滤器,然后过滤器会把你传递的信息转换成你设置的编码格式,从而避免一些中文乱码。

  过滤器过滤需要添加两部分代码,一是配置文件中关于过滤器的配置信息;另一个是过滤器中的过滤器代码。让我们一起来看看吧。

  web.xml中的配置代码:

  过滤器

  过滤器名称CharsetEncodingFilter/过滤器名称

  过滤级

  com . TGB . DRP . util . filter . charsetencodingfilter

  /筛选器类

  初始化参数

  param-name结束编码/param-name

  参数值GB 18030/参数值!-设置您要使用的字符集。我用GB18030 -这里-

  /init-param

  /过滤器

  过滤映射

  过滤器名称CharsetEncodingFilter/过滤器名称

  url模式*。jsp /url模式

  /filter-映射

  过滤器中的过滤器代码:

  导入Java . io . io exception;

  导入javax . servlet . filter;

  导入javax . servlet . filter chain;

  导入javax . servlet . filter config;

  导入javax . servlet . servlet exception;

  导入javax . servlet . servlet request;

  导入javax . servlet . servlet response;

  public void do filter(servlet request请求,ServletResponse响应,

  FilterChain chain)引发IOException,ServletException {

  system . out . println( CharsetEncodingFilter-begin );

  //设置web.xml中配置的字符集

  request . setcharacterencoding(end coding);

  system . out . println( CharsetEncodingFilter-doing );

  //继续执行

  chain.doFilter(请求,响应);

  system . out . println( CharsetEncodingFilter-end );

  @覆盖

  公共void init(filter config filter config)引发ServletException {

  this . end coding=filter config . getinitparameter( end coding );

  system . out . println( charsetencodingfilter . init()-end coding= end coding);

  通过以上设置,我们可以避免一些中文乱码,没错,只能解决一些乱码,因为乱码的原因有很多,包括JSP、HTML、URL传输、Eclipse等编译器.总之,出现乱码的原因有很多。我想推荐一篇文章——JSP,乱码的终极解决方案。

  PS: Filter方法只适用于post提交,而不适用于get提交。而且get submission也有一定的安全问题,建议你还是用post的方式提交数据比较好。另外,滤镜的作用并不仅限于此。还可以做一些页面访问控制等工作。今天只介绍乱码的处理问题。如果你对别人感兴趣,可以自己学习,或者等我弟弟以后写相关文章再和你交流。

过滤器解决中文乱码问题,jsp过滤器解决中文乱码案例