<?xml version="1.0" standalone="yes"?>
<?xml-stylesheet type="text/xsl" href="css/rss.xslt"?>
<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>AUG Team - JSP</title><link>http://www.augweb.net/blog/</link><description>welcome。。。 - </description><generator>RainbowSoft Studio Z-Blog 1.8 Spirit Build 80605</generator><language>zh-CN</language><copyright>Copyright @ 2003-2008 AUG.(专业网站建设 北京) All Rights Reserved.</copyright><pubDate>Fri, 10 Sep 2010 19:43:40 +0800</pubDate><item><title>IIS+resin 下 servlet 未加载</title><author>lorrons@gmail.com (lorron)</author><link>http://www.augweb.net/blog/post/36.html</link><pubDate>Mon, 25 Aug 2008 11:37:32 +0800</pubDate><guid>http://www.augweb.net/blog/post/36.html</guid><description><![CDATA[<p>IIS筛选器添加resin下serisapi_srun.dll</p>]]></description><category>JSP</category><comments>http://www.augweb.net/blog/post/36.html#comment</comments><wfw:comment>http://www.augweb.net/blog/</wfw:comment><wfw:commentRss>http://www.augweb.net/blog/feed.asp?cmt=36</wfw:commentRss><trackback:ping>http://www.augweb.net/blog/cmd.asp?act=tb&amp;id=36&amp;key=fd863fce</trackback:ping></item><item><title>Struts乱码的解决办法</title><author>lorrons@gmail.com (lorron)</author><link>http://www.augweb.net/blog/post/35.html</link><pubDate>Wed, 06 Aug 2008 19:30:20 +0800</pubDate><guid>http://www.augweb.net/blog/post/35.html</guid><description><![CDATA[<div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:ef9d721c-dc05-4632-8b0f-8b4c6d52fa3d" style="padding-right: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px">Tags: <a rel="tag" href="http://www.aiyouji.com/blog/catalog.asp?tags=java">java</a>, <a rel="tag" href="http://www.aiyouji.com/blog/catalog.asp?tags=jsp">jsp</a>, <a rel="tag" href="http://www.aiyouji.com/blog/catalog.asp?tags=struts">struts</a></div><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 编码问题，这种情况当页面是用struts标签时产生的，主要表现为文本框输入中文是变成乱码，用html标签却没有碰到过，在网上找了一些资料，整理了一下，问题解决，数据插入数据库(MS SQL Server)后中文也正常显示，</p><p>解决步骤如下：<br /><strong>1.写一个过滤器，完整代码如下：</strong></p><p>package com.jesun.character.Filter;</p><p>import java.io.IOException;</p><p>import javax.servlet.Filter;<br />import javax.servlet.FilterChain;<br />import javax.servlet.FilterConfig;<br />import javax.servlet.ServletException;<br />import javax.servlet.ServletRequest;<br />import javax.servlet.ServletResponse;</p><p>/**<br />* @author Jesun<br />* @date 2008-2-16<br />* 源码来自Internet,我只作了简单的修改<br />* 解决Struts中文显示乱码问题<br />* */</p><p>public class SetCharacterEncodingFilter implements Filter {<br />protected String encoding = null; <br />protected FilterConfig filterConfig = null; <br />protected boolean ignore = true; //在web.xml文件里定义filter时要用到此参数</p><p>public void destroy() {<br />&nbsp;&nbsp; // TODO Auto-generated method stub<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; this.encoding = null;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; this.filterConfig = null;<br />}</p><p>public void doFilter(ServletRequest request, ServletResponse response,<br />&nbsp;&nbsp;&nbsp; FilterChain chain) throws IOException, ServletException {<br />&nbsp;&nbsp; // TODO Auto-generated method stub<br />&nbsp;&nbsp;&nbsp;&nbsp; // Conditionally select and set the character encoding to be used<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (ignore || (request.getCharacterEncoding() == null)) {<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; String encoding = selectEncoding(request);</p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (encoding != null)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; request.setCharacterEncoding(encoding);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //Pass control on to the next filter<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; chain.doFilter(request, response);</p><p>}</p><p>public void init(FilterConfig filterConfig) throws ServletException {<br />&nbsp;&nbsp; // TODO Auto-generated method stub<br />&nbsp;&nbsp; this.filterConfig = filterConfig;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; this.encoding = filterConfig.getInitParameter(&quot;encoding&quot;);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; String value = filterConfig.getInitParameter(&quot;ignore&quot;);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (value == null)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; this.ignore = true;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; else if (value.equalsIgnoreCase(&quot;true&quot;))<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; this.ignore = true;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; else if (value.equalsIgnoreCase(&quot;yes&quot;))<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; this.ignore = true;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; else<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; this.ignore = false;<br />}</p><p>&nbsp;&nbsp;&nbsp; protected String selectEncoding(ServletRequest request) {<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return (this.encoding);<br />&nbsp;&nbsp;&nbsp; }</p><p>}<br />//class end</p><p>(注：假如我们是用tomcat作服务器的话，那就更方便了，我们可以直接在tomcat的webapps\jsp-examples\Web-INF\classes\filters目录中的两个源文件RequestDumperFilter.java，SetCharacterEncodingFilter.java复制到你使用的包下。)</p><p><strong>2.写好这个类以后，我们就在WEB应用的web.xml文件里定义Filter类，完整web.xml文件如下：</strong></p><p>&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;<br />&lt;!DOCTYPE web-app PUBLIC &quot;-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN&quot; &quot;<a href="http://java.sun.com/dtd/web-app_2_3.dtd">http://java.sun.com/dtd/web-app_2_3.dtd</a>&quot;&gt;<br />&lt;web-app&gt;<br />&lt;!-- 定义Filter，解决struts中文问题 --&gt;<br />&lt;filter&gt;<br />&nbsp;&nbsp;&nbsp; &lt;filter-name&gt;Set Character Encoding&lt;/filter-name&gt;<br />&nbsp;&nbsp;&nbsp; &lt;filter-class&gt;com.jesun.character.Filter.SetCharacterEncodingFilter&lt;/filter-class&gt;//包名<br />&nbsp;&nbsp;&nbsp; &lt;init-param&gt;<br />&nbsp;&nbsp; &lt;!-- 定义编码格式，我用的是GBK --&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;param-name&gt;encoding&lt;/param-name&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;param-value&gt;GBK&lt;/param-value&gt;<br />&nbsp;&nbsp;&nbsp; &lt;/init-param&gt;<br />&nbsp;&nbsp;&nbsp; &lt;init-param&gt;<br />&nbsp;&nbsp;&nbsp; &lt;!-- innore参数是在过滤器类定义的 --&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;param-name&gt;ignore&lt;/param-name&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;param-value&gt;true&lt;/param-value&gt;<br />&nbsp;&nbsp;&nbsp; &lt;/init-param&gt;<br />&lt;/filter&gt;<br />&lt;filter-mapping&gt;<br />&nbsp;&nbsp;&nbsp; &lt;filter-name&gt;Set Character Encoding&lt;/filter-name&gt;<br />&nbsp;&nbsp;&nbsp; &lt;servlet-name&gt;action&lt;/servlet-name&gt;<br />&lt;/filter-mapping&gt;<br />&lt;filter-mapping&gt;<br />&nbsp;&nbsp;&nbsp; &lt;filter-name&gt;Set Character Encoding&lt;/filter-name&gt;<br />&nbsp;&nbsp;&nbsp; &lt;servlet-name&gt;*.jsp&lt;/servlet-name&gt;<br />&lt;/filter-mapping&gt;<br />&lt;!-- Filter 定义结束 --&gt;<br />&lt;servlet&gt;<br />&nbsp;&nbsp;&nbsp; &lt;servlet-name&gt;action&lt;/servlet-name&gt;<br />&nbsp;&nbsp;&nbsp; &lt;servlet-class&gt;org.apache.struts.action.ActionServlet&lt;/servlet-class&gt;<br />&nbsp;&nbsp;&nbsp; &lt;init-param&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;param-name&gt;config&lt;/param-name&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;param-value&gt;/WEB-INF/struts-config.xml&lt;/param-value&gt;<br />&nbsp;&nbsp;&nbsp; &lt;/init-param&gt;<br />&nbsp;&nbsp;&nbsp; &lt;init-param&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;param-name&gt;debug&lt;/param-name&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;param-value&gt;3&lt;/param-value&gt;<br />&nbsp;&nbsp;&nbsp; &lt;/init-param&gt;<br />&nbsp;&nbsp;&nbsp; &lt;init-param&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;param-name&gt;detail&lt;/param-name&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;param-value&gt;3&lt;/param-value&gt;<br />&nbsp;&nbsp;&nbsp; &lt;/init-param&gt;<br />&nbsp;&nbsp;&nbsp; &lt;load-on-startup&gt;0&lt;/load-on-startup&gt;<br />&lt;/servlet&gt;<br />&lt;servlet-mapping&gt;<br />&nbsp;&nbsp;&nbsp; &lt;servlet-name&gt;action&lt;/servlet-name&gt;<br />&nbsp;&nbsp;&nbsp; &lt;url-pattern&gt;*.do&lt;/url-pattern&gt;<br />&lt;/servlet-mapping&gt;<br />&lt;welcome-file-list&gt;<br />&nbsp;&nbsp;&nbsp; &lt;welcome-file&gt;index.jsp&lt;/welcome-file&gt;<br />&lt;/welcome-file-list&gt;<br />&lt;taglib&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp; &lt;taglib-uri&gt;/WEB-INF/jesun.tld&lt;/taglib-uri&gt;<br />&nbsp;&nbsp;&nbsp; &lt;taglib-location&gt;/WEB-INF/jesun.tld&lt;/taglib-location&gt;<br />&lt;/taglib&gt;<br />&lt;/web-app&gt;</p><p>(3)以后编写JSP文件时，记得加入下面两句：</p><p>&lt;%@page contentType=&quot;text/html;charset=GBK&quot;%&gt;</p><p>&lt;META http-equiv=Content-Type content=&quot;text/html;charset=GBK&quot;&gt;</p><p>&nbsp;&nbsp; 到这里我们的工作就做完了，在程序里我们不需要再作任何其它处理，呵呵！</p>]]></description><category>JSP</category><comments>http://www.augweb.net/blog/post/35.html#comment</comments><wfw:comment>http://www.augweb.net/blog/</wfw:comment><wfw:commentRss>http://www.augweb.net/blog/feed.asp?cmt=35</wfw:commentRss><trackback:ping>http://www.augweb.net/blog/cmd.asp?act=tb&amp;id=35&amp;key=42c0f853</trackback:ping></item></channel></rss>
