Treatment of garbled when the submission form or servlet is processed. Here are Filter processing. Add in Web.xml:
init-param>
filter>
filter-mapping>
Corresponding Java code:
/ **
*
Title: Test and story p>
*
description: p>
*
Copyright: Copyright (C) 2004 P>
*
Company: SDZS P>
* @Author Meconsea
* @version 1.0
* /
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;
Import javax.servlet.http.httpservletRequest;
Import javax.servlet.http.httpservletResponse;
Public class setcharacterencodingfilter imports filter {
Public setcharacterencodingfilter () {
}
protected string encoding = null;
Protected filterconfig filter firmconfig = NULL;
Protected boolean ignore = true;
Public void destroy () {
THIS.Encoding = NULL;
THIS.FILTERCONFIG = NULL;
}
Public void Dofilter (ServletRequest Request, ServletResponse Response, Filterchain Chain) throws ioException, servletexception {
IF (ignore || request.getcharacterencoding () == NULL) {
Encoding = SECTENCODING (REQUEST);
IF (Encoding! = null) {
Request.setCharacterencoding (Encoding);
}
}
Chain.dofilter (Request, Response);
}
Public void init (filterconfig filterconfig) throws servletexception {
THIS.FILTERCONFIG = FilterConfig;
this.encoding = filterconfig.getinitParameter ("encoding");
String value = filterconfig.getinitparameter ("ignore");
IF (value == null) {
Ignore = true;
} else if (Value.Equalsignorecase ("true")) {
Ignore = true;
} Else IF (Value.Equalsignorecase ("YES")) {
Ignore = true;
} else {
Ignore = false;
}
}
protected string selectencoding (servletRequest request) {
Return this.Encoding;
}
}
Add: on the JSP page:
<% @ page contenttype = "text / html; charset = GBK"%>
OK, about Filter's question, you can refer to the content of the servlet.