Package COM. common. utils; import javax. servlet. *; import Java. io. ioexception; public class setcharacterencodingfilter implements filter {protected string encoding = NULL; // The encoding method protected filterconfig = NULL; // The parameter configuration object rotected Boolean ignore = true; // whether encoding is used. // read the public void Init (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;} // filter processing. If ignore is true, the specified public void dofilter (servletrequest request, servletresponse response, filterchai N chain) throws ioexception, servletexception {// use if (ignore | (request. getcharacterencoding () = NULL) {string encoding = This. encoding; If (encoding! = NULL) request. setcharacterencoding (encoding);} chain. dofilter (request, response);} // empty parameter object public void destroy () {This. encoding = NULL; this. filterconfig = NULL;} web. xml configuration: <filter> <filter-Name> setcharacterencodingfilter </filter-Name> <filter-class> COM. web0248.filter. setcharacterencodingfilter </filter-class> <init-param> <! -- Define the encoding format, I use UTF-8 --> <param-Name> encoding </param-Name> <param-value> UTF-8 </param-value> </init-param> <init- param> <! -- The ignore parameter is defined in the filter class --> <param-Name> ignore </param-Name> <param-value> true </param-value> </init-Param> </filter> <filter-mapping> <filter-Name> setcharacterencodingfilter </filter-Name> <servlet-Name> action </servlet-Name> </filter-mapping> <filter-mapping> <filter-Name> setcharacterencodingfilter </filter-Name> <servlet-Name> *. JSP </servlet-Name> </filter-mapping>}
Note: In the Web. xml file, all filter elements must appear before any filter-mapping element, and the filter-mapping element must appear before all servlet or servlet-mapping elements.
The order from top to bottom is:... → filter-mapping → listener → servlet-mapping →...