Welcome 布拉格

          BlogJava 首頁 聯系 聚合 管理
            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 閱讀(1938) 評論(0)  編輯  收藏

          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 乐业县| 兴业县| 洛南县| 黄骅市| 鹿邑县| 甘肃省| 林西县| 阜平县| 四川省| 榆中县| 冷水江市| 葵青区| 东乡| 安图县| 乡城县| 佛冈县| 东城区| 安吉县| 调兵山市| 潞西市| 呼伦贝尔市| 巩义市| 安西县| 葫芦岛市| 英吉沙县| 商洛市| 鄂托克前旗| 西贡区| 余姚市| 远安县| 龙州县| 荣昌县| 望都县| 杂多县| 天镇县| 黔西| 璧山县| 龙井市| 玉田县| 教育| 新蔡县|