1.创建fileter包
2.创建接口Fileter.java继承 javax.servlet.Filter
3.创建CharaterEncodingFilter.java实现Fileter
package filter;
import java.io.IOException;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
public class CharaterEncodingFilter implements Filter {
String bianma = null;// 保存从web.xml文件中获取的encode这个变量的值
@Override
public void destroy() {
// TODO Auto-generated method stub
}
@Override
public void doFilter(ServletRequest request, ServletResponse resoResponse, FilterChain filterChain)
throws IOException, ServletException {
// 获取编码
String r = request.getCharacterEncoding();
String ron = resoResponse.getCharacterEncoding();
// 赋值
if (r == null) {
request.setCharacterEncoding(bianma);
}
if (ron == null) {
resoResponse.setCharacterEncoding(bianma);
}
// 输出
resoResponse.setContentType("text/html;charset=" + bianma);
filterChain.doFilter(request, resoResponse);
// TODO Auto-generated method stub
}
@Override
// 初始化编码
public void init(FilterConfig filterConfig) throws ServletException {
bianma = filterConfig.getInitParameter("encode");
}
}
4.配置web.xml文件
<!--创建标签-->
<filter>
<filter-name>a</filter-name>
<filter-class>filter.CharaterEncodingFilter</filter-class>
<init-param>
<param-name>encode</param-name>
<param-value>UTF-8</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>a</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>