﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-☆-文章分类-jsp页面乱码方面</title><link>http://www.blogjava.net/lizhuxin/category/33772.html</link><description>☆</description><language>zh-cn</language><lastBuildDate>Thu, 14 Aug 2008 06:01:12 GMT</lastBuildDate><pubDate>Thu, 14 Aug 2008 06:01:12 GMT</pubDate><ttl>60</ttl><item><title>编写一个编码过滤器</title><link>http://www.blogjava.net/lizhuxin/articles/221967.html</link><dc:creator>☆</dc:creator><author>☆</author><pubDate>Thu, 14 Aug 2008 04:55:00 GMT</pubDate><guid>http://www.blogjava.net/lizhuxin/articles/221967.html</guid><wfw:comment>http://www.blogjava.net/lizhuxin/comments/221967.html</wfw:comment><comments>http://www.blogjava.net/lizhuxin/articles/221967.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/lizhuxin/comments/commentRss/221967.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/lizhuxin/services/trackbacks/221967.html</trackback:ping><description><![CDATA[编写一个编码过滤器：<br />
<br />
在Web.xml配置文件中加入<br />
&lt;filter&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp; &lt;filter-name&gt;Character Encoding&lt;/filter-name&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp; &lt;filter-class&gt;com.bonc.res.CharacterEncodingFilter&lt;/filter-class&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp; &lt;init-param&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;param-name&gt;encoding&lt;/param-name&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;param-value&gt;GBK&lt;/param-value&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp; &lt;/init-param&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp; &lt;init-param&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;param-name&gt;enable&lt;/param-name&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;param-value&gt;true&lt;/param-value&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp; &lt;/init-param&gt;<br />
&nbsp;&nbsp; &lt;/filter&gt;<br />
<br />
<br />
然后写个过滤器<br />
<br />
<p>/**<br />
&nbsp;* 对HttpRequest中的字符集进行编码，解决web请求乱码问题<br />
&nbsp;* <br />
&nbsp;* @author william<br />
&nbsp;* <br />
&nbsp;*/<br />
public class CharacterEncodingFilter implements Filter {<br />
&nbsp;protected FilterConfig config;<br />
&nbsp;// 对字符进行的何种编码<br />
&nbsp;protected String encodingName;<br />
&nbsp;// 是否允许编码<br />
&nbsp;protected boolean enable;</p>
<p>&nbsp;/**<br />
&nbsp; * 默认构造函数<br />
&nbsp; */<br />
&nbsp;public CharacterEncodingFilter() {<br />
&nbsp;&nbsp;encodingName = "UTF-8";<br />
&nbsp;&nbsp;enable = false;<br />
&nbsp;}</p>
<p>&nbsp;/**<br />
&nbsp; * Filter销毁的时候调用<br />
&nbsp; */<br />
&nbsp;public void destroy() {<br />
&nbsp;}</p>
<p>&nbsp;/**<br />
&nbsp; * filter的入口方法<br />
&nbsp; * <br />
&nbsp; * @param reqeust<br />
&nbsp; *&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ServletRequest对象<br />
&nbsp; * @param resonse<br />
&nbsp; *&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ServletResponse对象<br />
&nbsp; * @param chain<br />
&nbsp; *&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; FilterChain对象<br />
&nbsp; */<br />
&nbsp;public void doFilter(ServletRequest request, ServletResponse response,<br />
&nbsp;&nbsp;&nbsp;FilterChain chain) throws IOException, ServletException {<br />
&nbsp;&nbsp;if (enable) {<br />
&nbsp;&nbsp;&nbsp;request.setCharacterEncoding(encodingName);<br />
&nbsp;&nbsp;}<br />
&nbsp;&nbsp;chain.doFilter(request, response);</p>
<p>&nbsp;}</p>
<p>&nbsp;/**<br />
&nbsp; * 初始化Filter的时候，该方法被调用<br />
&nbsp; */<br />
&nbsp;public void init(FilterConfig config) throws ServletException {<br />
&nbsp;&nbsp;this.config = config;<br />
&nbsp;&nbsp;loadConfigParams();<br />
&nbsp;}</p>
<p>&nbsp;/**<br />
&nbsp; * 加载Filter的配置参数，参数在web.xml文件中设置<br />
&nbsp; */<br />
&nbsp;private void loadConfigParams() {<br />
&nbsp;&nbsp;// encoding<br />
&nbsp;&nbsp;this.encodingName = config.getInitParameter("encoding");<br />
&nbsp;&nbsp;<br />
&nbsp;&nbsp;// filter enable flag<br />
&nbsp;&nbsp;String strIgnoreFlag = config.getInitParameter("enable");<br />
&nbsp;&nbsp;<br />
&nbsp;&nbsp;if (strIgnoreFlag.equalsIgnoreCase("true")) {<br />
&nbsp;&nbsp;&nbsp;this.enable = true;<br />
&nbsp;&nbsp;} else {<br />
&nbsp;&nbsp;&nbsp;this.enable = false;<br />
&nbsp;&nbsp;}<br />
&nbsp;}</p>
<p>}<br />
</p>
<img src ="http://www.blogjava.net/lizhuxin/aggbug/221967.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/lizhuxin/" target="_blank">☆</a> 2008-08-14 12:55 <a href="http://www.blogjava.net/lizhuxin/articles/221967.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>