📄 setcharacterencodingfilter.java
字号:
package com.res.webprint.sample;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;import javax.servlet.UnavailableException;/** * <p>Title: WebPrint System</p> * <p>Description: </p> * <p>Copyright: Copyright (c) 2005</p> * <p>Company: Realesoft Technology Inc.</p> * @author not attributable * @version 1.0 * Example filter that sets the character encoding to be used in parsing the * incoming request, either unconditionally or only if the client did not * specify a character encoding. * 如果原来没有设置request的编码,就设置;否则保持不变 */public class SetCharacterEncodingFilter implements Filter { protected String encoding = null; protected FilterConfig filterConfig = null; protected boolean ignore = true;/** * 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. */public void doFilter(ServletRequest request, ServletResponse response,FilterChain chain)throws IOException, ServletException {// Conditionally select and set the character encoding to be usedif (ignore || (request.getCharacterEncoding() == null)) { String encoding = selectEncoding(request); if (encoding != null) request.setCharacterEncoding(encoding);//设置request编码的地方}// Pass control on to the next filter// 传递控制到下一个过滤器chain.doFilter(request, response);}/** * Place this filter into service. * 从web-app的web.xml文件中读取初始参数的值 */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;}/** * 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>. * 选择request原来的编码 */protected String selectEncoding(ServletRequest request) { return (this.encoding);}}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -