1. 程式人生 > >編碼過濾器(utf-8)

編碼過濾器(utf-8)

web.xml配置


<!-- 編碼過濾器 -->
    <filter>
        <filter-name>Utf_8Filter</filter-name>
        <filter-class>com.studentManagement.filter.Utf_8Filter</filter-class>
        <init-param>
            <param-name>encoding</param-name>
            <param-value
>
utf-8</param-value> </init-param> </filter> <filter-mapping> <filter-name>Utf_8Filter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping>

servlet類


import javax.servlet.*;
import javax.servlet.annotation.WebFilter;
import
java.io.IOException; import java.util.Enumeration; import java.util.HashMap; @WebFilter(filterName = "Utf_8Filter") public class Utf_8Filter implements Filter { private String encoding; private HashMap<String, String> params = new HashMap<String, String>(); // 專案結束時就已經進行銷燬 public
void destroy() { params = null; encoding = null; } public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { request.setCharacterEncoding(encoding); // response.setCharacterEncoding(encoding); response.setContentType("text/html;charset="+encoding); chain.doFilter(request, response); } // 專案啟動時就已經進行讀取 public void init(FilterConfig config) throws ServletException { encoding = config.getInitParameter("encoding"); for (Enumeration<?> e = config.getInitParameterNames(); e.hasMoreElements(); ) { String name = (String) e.nextElement(); String value = config.getInitParameter(name); params.put(name, value); } } }