1.servletbean.EncodingFilter
package servletbean;
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class EncodingFilter implements Filter
{
String encoding=null;
FilterConfig config;
public void init(FilterConfig filterConfig)throws ServletException
{
this.config=filterConfig;
this.encoding=filterConfig.getInitParameter("Encoding");//从web.xml中得到
System.out.println("theencode is :"+this.encoding);
}
public void doFilter(ServletRequestrequest,ServletResponse response,FilterChain chain) throwsIOException,ServletException
{
if(request.getCharacterEncoding()==null)
{
if(encoding!=null)
request.setCharacterEncoding(encoding);
}
chain.doFilter(request,response);//传给下一个链
//注意如果是最后一个filter的话,此处不能再写chain.doFilter
}
public void destroy()
{
}
}
2.web.xml
//注意filter的填写有顺序,写在前面的会先执行。
EncodingFilter
servletbean.EncodingFilter
Encoding
GB2312
EncodingFilter
/*
myservlet
servletbean.myservlet
myservlet
/myservlet