﻿<?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-freefly-随笔分类-Spring</title><link>http://www.blogjava.net/freefly/category/27352.html</link><description>一门技术，如果不能讲出来，那么就是没有理解，如果不能很好的讲出来,那么就是理解不够透彻！</description><language>zh-cn</language><lastBuildDate>Thu, 15 Nov 2007 17:34:15 GMT</lastBuildDate><pubDate>Thu, 15 Nov 2007 17:34:15 GMT</pubDate><ttl>60</ttl><item><title>solution for mess code in struts+spring+hibernate+mysql4.1 </title><link>http://www.blogjava.net/freefly/archive/2006/03/23/37026.html</link><dc:creator>freefly</dc:creator><author>freefly</author><pubDate>Thu, 23 Mar 2006 05:07:00 GMT</pubDate><guid>http://www.blogjava.net/freefly/archive/2006/03/23/37026.html</guid><wfw:comment>http://www.blogjava.net/freefly/comments/37026.html</wfw:comment><comments>http://www.blogjava.net/freefly/archive/2006/03/23/37026.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/freefly/comments/commentRss/37026.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/freefly/services/trackbacks/37026.html</trackback:ping><description><![CDATA[<p dir="ltr" style="margin-right: 0px" align="left">&nbsp;Here is my solution for&nbsp; mess code on page,hope this can help you!<br />
&nbsp;The point is&nbsp;your database coding&nbsp;should be&nbsp;consistent with the coding of&nbsp; character that you plan to insert into the database.<br />
&nbsp;Attention:&nbsp;Here,I&nbsp;take "UTF-8" as default character coding way&nbsp;.<br />
&nbsp;There are&nbsp;three steps:<br />
&nbsp;1. set page charset&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp; e.g&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;%@ page language="java" contentType="text/html; charset=UTF-8" %&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;<br />
&nbsp;2. create character filter:<br />
&nbsp;&nbsp;&nbsp;&nbsp; package com.victory.util;</p>
<p dir="ltr" style="margin-right: 0px">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;import javax.servlet.http.HttpServlet;<br />
&nbsp;&nbsp;&nbsp;&nbsp; import javax.servlet.Filter;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;import javax.servlet.FilterConfig;<br />
&nbsp;&nbsp;&nbsp;&nbsp; import javax.servlet.ServletException;<br />
&nbsp;&nbsp;&nbsp;&nbsp; import javax.servlet.ServletRequest;<br />
&nbsp;&nbsp;&nbsp;&nbsp; import javax.servlet.ServletResponse;<br />
&nbsp;&nbsp;&nbsp;&nbsp; import javax.servlet.FilterChain;<br />
&nbsp;&nbsp;&nbsp;&nbsp; import javax.servlet.http.*;<br />
&nbsp;&nbsp;&nbsp;&nbsp; import java.io.IOException;<br />
&nbsp; &nbsp;&nbsp; public class CharacterEncodingFilter<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;extends HttpServlet<br />
&nbsp;&nbsp;&nbsp;&nbsp; &nbsp; implements Filter {</p>
<p dir="ltr" style="margin-right: 0px" align="left">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;private FilterConfig filterConfig;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;private String targetEncoding = "ASCII";</p>
<p dir="ltr" style="margin-right: 0px" align="left">&nbsp;&nbsp; &nbsp; /**<br />
&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;* Called by the web container to indicate to a filter that it is being placed<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; * into service.<br />
&nbsp;&nbsp;&nbsp; &nbsp; *<br />
&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;* @param filterConfig FilterConfig<br />
&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;* @throws ServletException<br />
&nbsp;&nbsp;&nbsp; &nbsp; * @todo Implement this javax.servlet.Filter method<br />
&nbsp;&nbsp;&nbsp;&nbsp; */<br />
&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;public void init(FilterConfig filterConfig) throws ServletException {<br />
&nbsp;&nbsp; &nbsp;&nbsp; this.filterConfig = filterConfig;<br />
&nbsp;&nbsp;&nbsp; &nbsp; this.targetEncoding = filterConfig.getInitParameter("encoding");<br />
&nbsp;&nbsp;&nbsp;&nbsp; }</p>
<p dir="ltr" style="margin-right: 0px" align="left">&nbsp;&nbsp;&nbsp; /**<br />
&nbsp;&nbsp;&nbsp;&nbsp; * The &lt;code&gt;doFilter&lt;/code&gt; method of the Filter is called by the container<br />
&nbsp;&nbsp;&nbsp; &nbsp;* each time a request/response pair is passed through the chain due to a<br />
&nbsp;&nbsp;&nbsp;&nbsp; * client request for a resource at the end of the chain.<br />
&nbsp;&nbsp;&nbsp; &nbsp;*<br />
&nbsp;&nbsp; &nbsp; * @param request ServletRequest<br />
&nbsp;&nbsp; &nbsp; * @param response ServletResponse<br />
&nbsp;&nbsp;&nbsp; &nbsp;* @param chain FilterChain<br />
&nbsp;&nbsp; &nbsp; * @throws IOException<br />
&nbsp; &nbsp;&nbsp; * @throws ServletException<br />
&nbsp;&nbsp; &nbsp; * @todo Implement this javax.servlet.Filter method<br />
&nbsp;&nbsp; &nbsp; */<br />
&nbsp;&nbsp; &nbsp; public void doFilter(ServletRequest srequest, ServletResponse sresponse,<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; FilterChain chain) throws IOException, ServletException {<br />
&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;try {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp; HttpServletRequest request = (HttpServletRequest) srequest;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp; request.setCharacterEncoding(targetEncoding);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;chain.doFilter(srequest, sresponse);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;catch (ServletException sx) {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp; filterConfig.getServletContext().log(sx.getMessage());<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp; }<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; catch (IOException iox) {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp; filterConfig.getServletContext().log(iox.getMessage());<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;}<br />
&nbsp;&nbsp;&nbsp; &nbsp; }</p>
<p dir="ltr" style="margin-right: 0px" align="left">&nbsp;&nbsp; &nbsp;/**<br />
&nbsp;&nbsp;&nbsp; &nbsp;* Called by the web container to indicate to a filter that it is being taken<br />
&nbsp;&nbsp;&nbsp; &nbsp;* out of service.<br />
&nbsp;&nbsp;&nbsp;&nbsp; *<br />
&nbsp;&nbsp;&nbsp; &nbsp;* @todo Implement this javax.servlet.Filter method<br />
&nbsp;&nbsp;&nbsp; &nbsp;*/<br />
&nbsp;&nbsp;&nbsp; &nbsp;public void destroy() {<br />
&nbsp;&nbsp;&nbsp;&nbsp; &nbsp; filterConfig = null;<br />
&nbsp;&nbsp;&nbsp;&nbsp; &nbsp; targetEncoding = null;<br />
&nbsp;&nbsp;&nbsp; &nbsp;}<br />
&nbsp; }<br />
&nbsp;&nbsp;<br />
&nbsp;&nbsp;<strong>3.config web.xml<br />
&nbsp;&nbsp;&nbsp;&nbsp;attention:&nbsp;add these to your web.xml<br />
</strong>&nbsp;&nbsp;&nbsp;&nbsp; &lt;filter&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp; &lt;filter-name&gt;EncodingFilter&lt;/filter-name&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp; &lt;filter-class&gt;com.victory.util.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;UTF-8&lt;/param-value&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp; &lt;/init-param&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;/filter&gt;<br />
&nbsp;&nbsp; &nbsp;&lt;filter-mapping&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&lt;filter-name&gt;EncodingFilter&lt;/filter-name&gt;<br />
&nbsp;&nbsp;&nbsp; &nbsp;&lt;url-pattern&gt;/*&lt;/url-pattern&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;/filter-mapping&gt;&nbsp;<br />
&nbsp;<strong>&nbsp;4.set database configration</strong><br />
&nbsp;&nbsp;&nbsp;&nbsp; modify the file:&nbsp;&nbsp;&nbsp; my.ini<br />
&nbsp;&nbsp;&nbsp;&nbsp; [client]&nbsp;&nbsp;&nbsp;&nbsp; default-character-set=utf8&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp; [mysqld]&nbsp; default-character-set=utf8<br />
<strong>&nbsp;&nbsp;5.restart Mysql server<br />
&nbsp; 6.modified your table&nbsp;coding&nbsp;way to utf8</strong><br />
&nbsp;&nbsp;&nbsp;&nbsp; <strong>or ceate your table like this :<br />
</strong>&nbsp;&nbsp;&nbsp;&nbsp; CREATE TABLE `user` (<br />
&nbsp;&nbsp; &nbsp;`ID` int(11) NOT NULL auto_increment,<br />
&nbsp;&nbsp;&nbsp; `USERNAME` varchar(50) NOT NULL default '',<br />
&nbsp;&nbsp; &nbsp;`PASSWORD` varchar(50) NOT NULL default '',<br />
&nbsp; &nbsp; &nbsp;PRIMARY KEY&nbsp; (`ID`)<br />
&nbsp;&nbsp;&nbsp; &nbsp;) ENGINE=MyISAM DEFAULT CHARSET=utf8;&nbsp;<br />
&nbsp; <strong>7.restrart your tomcat sever<br />
<br />
&nbsp; &nbsp;OK,it's all.<br />
<br />
&nbsp;&nbsp; Authrougn I have sovled&nbsp;&nbsp;&nbsp;my problem, I think I&nbsp;&nbsp;don't have&nbsp;enough understanding for it,&nbsp;&nbsp;So hope&nbsp;&nbsp;&nbsp; communicate&nbsp;with you!&nbsp;<br />
<br />
&nbsp; &nbsp;Attention:mess code also exist in your database,through page hasn't mess code.</strong>&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </p>
<p dir="ltr" style="margin-right: 0px"><br />
&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </p>
<img src ="http://www.blogjava.net/freefly/aggbug/37026.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/freefly/" target="_blank">freefly</a> 2006-03-23 13:07 <a href="http://www.blogjava.net/freefly/archive/2006/03/23/37026.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>