Welcome 布拉格

          BlogJava 首頁(yè) 聯(lián)系 聚合 管理
            6 Posts :: 13 Stories :: 15 Comments :: 0 Trackbacks

          ?webxml? 字符UTF-8 處理

          <filter>
          ??<filter-name>Set Character Encoding</filter-name>
          ??<filter-class>
          ???util.web.SetCharacterEncodingFilter
          ??</filter-class>
          ??<init-param>
          ???<param-name>encoding</param-name>
          ???<param-value>utf-8</param-value>
          ??</init-param>
          ?</filter>

          ?<filter-mapping>
          ??<filter-name>Set Character Encoding</filter-name>
          ??<url-pattern>/*</url-pattern>
          ?</filter-mapping>

          SetCharacterEncodingFilter.java

          package util.web;


          import java.io.BufferedWriter;
          import java.io.FileWriter;
          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;
          /**
          ?* @author Dave
          ?*/
          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;

          ??? }

          ??? /**
          ??? * Select and set (if specified) the character encoding to be used to
          ??? * interpret request parameters for this request.
          ??? *
          ??? * @param request The servlet request we are processing
          ??? * @param result The servlet response we are creating
          ??? * @param chain The filter chain we are processing
          ??? *
          ??? * @exception IOException if an input/output error occurs
          ??? * @exception ServletException if a servlet error occurs
          ??? */
          ??? 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);
          ??????????? }
          ??????? }
          ???????
          ??????? //???? Pass control on to the next filter
          ??????? chain.doFilter(request, response);
          ??????? BufferedWriter? bw = new BufferedWriter(new FileWriter("/temp/insertlog.log"));;
          ??????? //bw.
          ??????? //response.getOutputStream().println();

          ??? }

          ??? /**
          ??? * Place this filter into service.
          ??? *
          ??? * @param filterConfig The filter configuration object
          ??? */
          ??? 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

          ??? /**
          ??? * Select an appropriate character encoding to be used, based on the
          ??? * characteristics of the current request and/or filter initialization
          ??? * parameters. If no character encoding should be set, return
          ??? * <code>null</code>.
          ??? * <p>
          ??? * The default implementation unconditionally returns the value configured
          ??? * by the <strong>encoding</strong> initialization parameter for this
          ??? * filter.
          ??? *
          ??? * @param request The servlet request we are processing
          ??? */
          ??? protected String selectEncoding(ServletRequest request) {

          ??????? return (this.encoding);

          ??? }

          }

          ?

          posted on 2007-09-12 17:26 Welcome 閱讀(1941) 評(píng)論(0)  編輯  收藏

          只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 平乐县| 中牟县| 河津市| 揭西县| 武汉市| 乳源| 东阿县| 于田县| 台前县| 天台县| 弥渡县| 突泉县| 富宁县| 阿鲁科尔沁旗| 无棣县| 汉川市| 通许县| 泗阳县| 常州市| 界首市| 翁牛特旗| 买车| 陆河县| 红原县| 巴东县| 岳阳县| 武乡县| 中卫市| 奉化市| 山丹县| 新安县| 萨嘎县| 闸北区| 涟源市| 南投市| 株洲市| 独山县| 旅游| 晋州市| 杭锦后旗| 清流县|