SetCharacterEncodingFilter.java
上传用户:zhihansy
上传日期:2014-12-04
资源大小:7241k
文件大小:2k
源码类别:

搜索引擎

开发平台:

Java

  1. package com.lucene;
  2. import java.io.IOException;
  3. import javax.servlet.Filter;
  4. import javax.servlet.FilterChain;
  5. import javax.servlet.FilterConfig;
  6. import javax.servlet.ServletException;
  7. import javax.servlet.ServletRequest;
  8. import javax.servlet.ServletResponse;
  9. /* 
  10.  *@author 申华锋 E-mail:leonshine@qq.com
  11.  *@version 创建时间:Mar 11, 2008 11:48:34 PM
  12.  *@description 字符过滤器
  13.  */
  14. public class SetCharacterEncodingFilter implements Filter {
  15. private String encoding = null;
  16. private FilterConfig filterConfig = null;
  17. private boolean ignore = true;
  18. public void destroy() {
  19. encoding = null;
  20. filterConfig = null;
  21. }
  22. public void doFilter(ServletRequest request, ServletResponse response,
  23. FilterChain filterChain) throws IOException, ServletException {
  24. if (ignore == true || request.getCharacterEncoding() == null) {
  25. String encoding = setCharacterEncoding(request);
  26. if (encoding != null) {
  27. request.setCharacterEncoding(encoding);
  28. }
  29. }
  30. filterChain.doFilter(request, response);
  31. }
  32. public void init(FilterConfig filterConfig) throws ServletException {
  33. this.filterConfig = filterConfig;
  34. this.encoding = filterConfig.getInitParameter("encoding");
  35. String value = filterConfig.getInitParameter("ignore");
  36. if (value == null) {
  37. this.ignore = true;
  38. } else if (value.equalsIgnoreCase("true")) {
  39. this.ignore = true;
  40. } else {
  41. this.ignore = false;
  42. }
  43. }
  44. public String setCharacterEncoding(ServletRequest request) {
  45. return this.encoding;
  46. }
  47. }