主页 > 知识库 > 通过过滤器(Filter)解决JSP的Post和Request中文乱码问题

通过过滤器(Filter)解决JSP的Post和Request中文乱码问题

热门标签:北票市地图标注 高德地图标注样式 地图标注线上教程 商洛电销 四川保险智能外呼系统商家 电销机器人是有一些什么技术 杭州语音电销机器人软件 杭州ai语音电销机器人功能 电销机器人好卖么

jsp代码:

import javax.servlet.*;
import javax.servlet.http.*;

public class CharsetFilter implements Filter
{
  public void destroy() 
  {
    
  }
  public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) 
  {
    try
    {
      HttpServletRequest httpRequest = (HttpServletRequest)request;
      String method = httpRequest.getMethod().toLowerCase();
      if(method.equals("post"))
      {
        //如果是post,即表单方法,直接设置charset即可
        request.setCharacterEncoding("UTF-8");
      }
      else if(method.equals("get"))
      {
        //如果是get方法
        request.setCharacterEncoding("UTF-8");
        request = new HttpServletRequestWrapper((HttpServletRequest)request)
        {
          public String getParameter(String str)
          {
            try
            {
              return new String(super.getParameter(str).getBytes("iso-8859-1"),"GBK");
            }
            catch(Exception e)
            {
              return null;
            }
   
          }
        };
      }
      
      chain.doFilter(request, response);
    }
    catch(Exception e){}
  }
  
  public void init(FilterConfig filterConfig) 
  {
    
  }
}

过滤器配置:

filter>
    filter-name>CharFilter/filter-name>
    filter-class>CharsetFilter/filter-class>
/filter>
filter-mapping>
    filter-name>CharFilter/filter-name>
    url-pattern>/*/url-pattern>
    dispatcher>REQUEST/dispatcher>
/filter-mapping>
您可能感兴趣的文章:
  • springboot中不能获取post请求参数的解决方法
  • spring cloud gateway中如何读取请求参数
  • Filter中获取传递参数方式(解决post请求参数问题)

标签:红河 云浮 西藏 江西 青岛 贵州 宿州 丹东

巨人网络通讯声明:本文标题《通过过滤器(Filter)解决JSP的Post和Request中文乱码问题》,本文关键词  通过,过滤器,Filter,解决,;如发现本文内容存在版权问题,烦请提供相关信息告之我们,我们将及时沟通与处理。本站内容系统采集于网络,涉及言论、版权与本站无关。
  • 相关文章
  • 下面列出与本文章《通过过滤器(Filter)解决JSP的Post和Request中文乱码问题》相关的同类信息!
  • 本页收集关于通过过滤器(Filter)解决JSP的Post和Request中文乱码问题的相关信息资讯供网民参考!
  • 推荐文章