基于TOMCAT服务器SSH乱码解决方案

来源:互联网 发布:芯片和单片机的区别 编辑:程序博客网 时间:2024/05/20 05:54

1.首先到Tomcat的安装目录下的\conf\server.xml

定位至并添加:

<Connector port="8080" protocol="HTTP/1.1" 
               connectionTimeout="20000" 
               redirectPort="8443"
 URIEncoding="UTF-8" />

2.写用于进行编码预处理的过滤器

核心代码:

private String charset="UTF-8";

public void doFilter(ServletRequest arg0, ServletResponse arg1,
    FilterChain chain) throws IOException, ServletException {  
   HttpServletRequest req=(HttpServletRequest)arg0;
   HttpServletResponse reps=(HttpServletResponse)arg1;

   reps.setContentType("text/html;charset="+charset);

   req.setCharacterEncoding(charset);

   chain.doFilter(req, reps);

}

    public void init(FilterConfig filterConfig) throws ServletException {
      //获取初始化参数

String str=filterConfig.getInitParameter("encoding");

       if(str!=nu|){

charset=str;

}

    }

3.配置过滤器


 <filter>      <!--注意这里是filter,不要配置成servlet-->
   <filter-name>CharactorFilter</filter-name>    <!--过滤器名称-->
  <filter-class>cn.com.Filter.CharactorFilter</filter-class>  <!--过滤器的完整类名-->  
    <init-param>   <!--初始化参数-->  
        <param-name>encoding</param-name>  <!--参数名称-->  
        <param-value>utf-8</param-value>   <!--参数值-->  
    </init-param>
 </filter>
 <filter-mapping> <!--过滤器映射--> 
     <filter-name>CharactorFilter</filter-name><!--过滤器名称-->   
     <url-pattern>/*</url-pattern><!--URL映射,给所有页面处理乱码-->  
      </filter-mapping>

4.OK


0 0
原创粉丝点击