package smp;
import java.io.IOException;
import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
public class SetCharacterEncodingFilter implements Filter {
protected String encoding = null;
protected FilterConfig filterConfig = null;
public void destroy() {
this.encoding = null;
this.filterConfig = null;
}
public void doFilter( ServletRequest request, ServletResponse response,FilterChain chain )
throws IOException, ServletException {
if ( this.encoding != null ) {
// 文字コードの設定
request.setCharacterEncoding( encoding );
}
// 次のフィルターを実行する
chain.doFilter( request, response );
}
public void init(FilterConfig filterConfig) throws ServletException {
this.filterConfig = filterConfig;
// web.xmlから文字コードを取得
this.encoding = filterConfig.getInitParameter("encoding");
}
}
|