JSP中解决乱码的方法。用PetStore中的EncodingFilter

王朝java/jsp·作者佚名  2006-01-09
窄屏简体版  字體: |||超大  

/*

* Copyright 2002 Sun Microsystems, Inc. All rights reserved.

*

* Redistribution and use in source and binary forms, with or without

* modification, are permitted provided that the following conditions

* are met:

*

* - Redistributions of source code must retain the above copyright

* notice, this list of conditions and the following disclaimer.

*

* - Redistribution in binary form must reproduce the above copyright

* notice, this list of conditions and the following disclaimer in

* the documentation and/or other materials provided with the

* distribution.

*

* Neither the name of Sun Microsystems, Inc. or the names of

* contributors may be used to endorse or promote products derived

* from this software without specific prior written permission.

*

* This software is provided "AS IS," without a warranty of any

* kind. ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND

* WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY,

* FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY

* EXCLUDED. SUN AND ITS LICENSORS SHALL NOT BE LIABLE FOR ANY DAMAGES

* SUFFERED BY LICENSEE AS A RESULT OF USING, MODIFYING OR

* DISTRIBUTING THE SOFTWARE OR ITS DERIVATIVES. IN NO EVENT WILL SUN

* OR ITS LICENSORS BE LIABLE FOR ANY LOST REVENUE, PROFIT OR DATA, OR

* FOR DIRECT, INDIRECT, SPECIAL, CONSEQUENTIAL, INCIDENTAL OR

* PUNITIVE DAMAGES, HOWEVER CAUSED AND REGARDLESS OF THE THEORY OF

* LIABILITY, ARISING OUT OF THE USE OF OR INABILITY TO USE SOFTWARE,

* EVEN IF SUN HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.

*

* You acknowledge that Software is not designed, licensed or intended

* for use in the design, construction, operation or maintenance of

* any nuclear facility.

*/

package com.lims.actions.standardline;

/**

* Create Jstar

* @author PetStore

*

*/

import javax.servlet.FilterConfig;

import javax.servlet.ServletException;

import javax.servlet.ServletRequest;

import javax.servlet.ServletResponse;

import javax.servlet.FilterChain;

import javax.servlet.http.HttpServletRequest;

import java.io.IOException;

import javax.servlet.Filter;

/**

* <p>Title: EAF(Enterprise Application Framework)</p>

* <p>Description: 用于设定Request的编码方式</p>

* <pre>请在web.xml中定义本Filter,配置如下:

* <filter>

* <filter-name>EncodingFilter</filter-name>

* <display-name>EncodingFilter</display-name>

* <description>Set the request encoding</description>

* <filter-class>com.netstar.zhuhai.eaf.web.EncodingFilter</filter-class>

* <init-param>

* <param-name>encoding</param-name>

* <param-value>UTF-8</param-value>

* </init-param>

* </filter>

*

* <filter-mapping>

* <filter-name>EncodingFilter</filter-name>

* <url-pattern>/*</url-pattern>

* </filter-mapping>

* </pre>

* @version 1.0

*/

public class EncodingFilter implements Filter {

private FilterConfig config = null;

private String targetEncoding = "ASCII";

public EncodingFilter() {

}

public void init(FilterConfig filterconfig) throws javax.servlet.ServletException {

this.config = filterconfig;

this.targetEncoding = config.getInitParameter("encoding");

}

public void doFilter(ServletRequest srequest, ServletResponse sresponse, FilterChain filterchain) throws java.io.IOException, javax.servlet.ServletException {

HttpServletRequest request = (HttpServletRequest)srequest;

//set the encoding

request.setCharacterEncoding(this.targetEncoding);

//move to next

filterchain.doFilter(srequest,sresponse);

}

public void destroy() {

this.config = null;

this.targetEncoding = null;

}

}

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航