⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 setcharacterencodingfilter.java

📁 hibernate应用测试,初学hibernate 的会员可以看看.
💻 JAVA
字号:
package com.tool;

import java.io.IOException;
import java.util.Locale;

import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;


import org.apache.struts.Globals;

/**
 * <p>Title: </p>
 *
 * <p>Description:用于处理struts乱码的过滤器 </p>
 *
 * <p>Copyright: Copyright (c) 2007</p>
 *
 * <p>Company: </p>
 *
 * @author 詹伟胜
 * @version 1.0
 */
public class SetCharacterEncodingFilter implements Filter {
        // ----------------------------------------------------- Instance Variables

      /**
       * The default character encoding to set for requests that pass through this
       * filter.
       */
      protected String encoding = null;

      /**
       * The filter configuration object we are associated with. If this value is
       * null, this filter instance is not currently configured.
       */
      protected FilterConfig filterConfig = null;

      /**
       * Should a character encoding specified by the client be ignored?
       */
      protected boolean ignore = true;

      // --------------------------------------------------------- Public Methods

      /**
       * Take this filter out of service.
       */
      public void destroy() {

          this.encoding = null;
          this.filterConfig = null;

      }

      public void doFilter(ServletRequest request, ServletResponse response,
              FilterChain chain) throws IOException, ServletException {
          // Conditionally select and set the character encoding to be used
          if (ignore || (request.getCharacterEncoding() == null)) {
              String encoding = selectEncoding(request);
              if (encoding != null) {
                  request.setCharacterEncoding(encoding);
              }
          }
          // Syncronize JSTL and struts locale settings
          HttpSession session = ((HttpServletRequest) request).getSession(true);
          Locale locale = (Locale) session.getAttribute(Globals.LOCALE_KEY);
          if (locale == null) {
              locale = request.getLocale();
          }

          // Pass control on to the next filter
          chain.doFilter(request, response);

      }


      public void init(FilterConfig filterConfig) throws ServletException {

          this.filterConfig = filterConfig;
          this.encoding = filterConfig.getInitParameter("encoding");
          String value = filterConfig.getInitParameter("ignore");
          if (value == null)
              this.ignore = true;
          else if (value.equalsIgnoreCase("true"))
              this.ignore = true;
          else if (value.equalsIgnoreCase("yes"))
              this.ignore = true;
          else
              this.ignore = false;

      }

      // ------------------------------------------------------ Protected Methods

      protected String selectEncoding(ServletRequest request) {

          return (this.encoding);

      }

}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -