一.在web.xml中配置
xml 代码
-
<
filter
>
-
<
filter-name
>
EncodingFilter
</
filter-name
>
-
<
filter-class
>
com.kenshin.base.SysFilter
</
filter-class
>
-
<
init-param
>
-
<
param-name
>
encoding
</
param-name
>
-
<
param-value
>
UTF-8
</
param-value
>
-
</
init-param
>
-
<
init-param
>
-
<
param-name
>
enable
</
param-name
>
-
<
param-value
>
true
</
param-value
>
-
</
init-param
>
-
</
filter
>
-
<
filter-mapping
>
-
<
filter-name
>
EncodingFilter
</
filter-name
>
-
<
url-pattern
>
*.do
</
url-pattern
>
-
</
filter-mapping
>
二.filter类代码
java 代码
-
package
com.kenshin.base;
-
-
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
org.apache.commons.logging.Log;
-
import
org.apache.commons.logging.LogFactory;
-
import
org.hibernate.Session;
-
import
org.hibernate.SessionFactory;
-
import
org.hibernate.Transaction;
-
-
public
class
SysFilter
implements
Filter {
-
protected
String sEncodingName;
-
-
protected
FilterConfig sysFilter;
-
-
protected
boolean
bEnable;
-
-
protected
Log logger = LogFactory.getLog(SysFilter.
class
);
-
-
public
void
destroy() {
-
-
}
-
-
public
void
doFilter(ServletRequest arg0, ServletResponse arg1,
-
FilterChain arg2)
throws
IOException, ServletException {
-
-
if
(
this
.bEnable) {
-
try
{
-
arg0.setCharacterEncoding(
this
.sEncodingName);
-
arg1.setContentType(
"text/html;charset="
+
this
.sEncodingName);
-
arg1.setCharacterEncoding(
this
.sEncodingName);
-
arg2.doFilter(arg0, arg1);
-
-
}
catch
(Exception e) {
-
logger.info(
"出错了"
);
-
}
-
-
}
else
{
-
arg2.doFilter(arg0, arg1);
-
}
-
}
-
-
public
void
init(FilterConfig arg0)
throws
ServletException {
-
-
this
.sysFilter = arg0;
-
this
.loadFilterSetting();
-
}
-
-
private
void
loadFilterSetting() {
-
this
.sEncodingName =
this
.sysFilter.getInitParameter(
"encoding"
);
-
logger.info(
"encoding:"
+ sEncodingName);
-
String sEnable =
this
.sysFilter.getInitParameter(
"enable"
);
-
if
(sEnable !=
null
&& sEnable.equalsIgnoreCase(
"true"
)) {
-
this
.bEnable =
true
;
-
}
else
{
-
this
.bEnable =
false
;
-
}
-
}
-
-
-
}
|