八、在使用spring的框架中如何解决中文乱码问题

1、在spring中如何解决中文乱码问题(两种方法):
方法1)自己编写一个过滤器
步骤1、
package com.zjb.web.filter;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class MyFilter extends HttpServlet implements Filter {
    /*
    1、如何开发一个过滤器
    1)新建一个servlet,继承HttpServlet类,实现Filter接口
    过滤器是web层的,因为过滤器的本质就是一个servlet,过滤器要继承HttpServlet类,实现Filter接口。
    备注:当你新建一个Servlet的时候,就自动在web.xml文件中建立了该filter的Servlet映射
    2)在web.xml文件中配置过滤器
    */
    public void init(FilterConfig filterConfig) throws ServletException {
        
    }
    public void doFilter(ServletRequest request, ServletResponse response,
            FilterChain chain) throws IOException, ServletException {
        request.setCharacterEncoding("utf-8");
        chain.doFilter(request, response);
    }
}

步骤2、在web.xml文件中配置自己写的过滤器
    <filter>
        <filter-name>MyFilter</filter-name>
        <filter-class>com.zjb.web.filter.MyFilter</filter-class>
    </filter>
    <filter-mapping>
        <filter-name>MyFilter</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>

方法2)使用sping框架提供的处理中文乱码的过滤器,如下的过滤器在spring.jar下面
    <filter>
        <filter-name>encoding</filter-name>
        <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
        <init-param>
            <param-name>encoding</param-name>
            <param-value>UTF-8</param-value>
        </init-param>
    </filter>
    <filter-mapping>
        <filter-name>encoding</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>

posted @ 2017-09-24 15:25  爱笑的berg  阅读(458)  评论(0)    收藏  举报