?1?package?filter;
?2?
?3?import?javax.servlet.Filter;
?4?import?javax.servlet.FilterConfig;
?5?import?javax.servlet.FilterChain;
?6?import?javax.servlet.ServletRequest;
?7?import?javax.servlet.ServletResponse;
?8?import?javax.servlet.http.HttpServletRequest;
?9?import?javax.servlet.http.HttpServletResponse;
10?import?javax.servlet.ServletContext;
11?
12?public?class?EncodingFilter?implements?Filter?
13?{
14?????private?FilterConfig?config;?
15?????
16?????public?void?init(FilterConfig?config)
17?????{?
18?????????this.config?=?config;?
19?????}
20?
21?????public?void?destroy()
22?????{?
23?????????this.config?=?null;?
24?????}
25?
26?????public?void?doFilter(ServletRequest?request,ServletResponse?response,FilterChain?chain)
27?????{
28?????????try
29?????????{
30?????????????request.setCharacterEncoding("GBK");
31?????????????//為請求“放行”
32?????????????chain.doFilter(request,?response);?//此處不需要鏈參數?
33?????????}
34?????????catch?(Exception?e)
35?????????{
36?????????????e.printStackTrace();
37?????????}
38?????}?
39?}?
40?
?2?
?3?import?javax.servlet.Filter;
?4?import?javax.servlet.FilterConfig;
?5?import?javax.servlet.FilterChain;
?6?import?javax.servlet.ServletRequest;
?7?import?javax.servlet.ServletResponse;
?8?import?javax.servlet.http.HttpServletRequest;
?9?import?javax.servlet.http.HttpServletResponse;
10?import?javax.servlet.ServletContext;
11?
12?public?class?EncodingFilter?implements?Filter?
13?{
14?????private?FilterConfig?config;?
15?????
16?????public?void?init(FilterConfig?config)
17?????{?
18?????????this.config?=?config;?
19?????}
20?
21?????public?void?destroy()
22?????{?
23?????????this.config?=?null;?
24?????}
25?
26?????public?void?doFilter(ServletRequest?request,ServletResponse?response,FilterChain?chain)
27?????{
28?????????try
29?????????{
30?????????????request.setCharacterEncoding("GBK");
31?????????????//為請求“放行”
32?????????????chain.doFilter(request,?response);?//此處不需要鏈參數?
33?????????}
34?????????catch?(Exception?e)
35?????????{
36?????????????e.printStackTrace();
37?????????}
38?????}?
39?}?
40?
在web.xml中,添加
1?<filter>?
2?????????<filter-name>encodingfilter</filter-name>?
3?????????<filter-class>filter.EncodingFilter</filter-class>?
4?????</filter>
5?????<filter-mapping>?
6?????????<filter-name>encodingfilter</filter-name>?
7?????????<url-pattern>/*</url-pattern>?
8?????</filter-mapping>?
2?????????<filter-name>encodingfilter</filter-name>?
3?????????<filter-class>filter.EncodingFilter</filter-class>?
4?????</filter>
5?????<filter-mapping>?
6?????????<filter-name>encodingfilter</filter-name>?
7?????????<url-pattern>/*</url-pattern>?
8?????</filter-mapping>?
則所有的請求頁面都會通過EncodingFilter將請求參數轉換成中文