編碼過濾器(utf-8)
阿新 • • 發佈:2019-01-25
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);
}
}
}