????2???????bean????

????????????????????????????????????????????????????????????

<property name="driverClassName">
<value>com.mysql.jdbc.Driver</value>
</property>
<property name="url">
<value>jdbc??mysql??//localhost??3306/newfang??useUnicode=true&amp??characterEncoding=gbk&amp??autoReconnect=true</value>
</property>

????3???????о?????????????

????????????????????????????????????????????????????????????????????????????????????????÷?????

????qString = new String(qString.getBytes("ISO8859_1")?? "GBK")??

?????? qString = URLEncoder.encode(qString?? "GBK")?? //java url ??????

????4??web.xml????????filter??????

??????????????????????????????????action??jsp??潻?????á?

<??-- ?????????????????? -->
<filter>
<filter-name>Set Character Encoding</filter-name>
<filter-class>com.qa.util.SetEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>GBK</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>Set Character Encoding</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
SetEncodingFilter????
package com.qa.util??
import javax.servlet.*??
import java.io.*??
public class SetEncodingFilter implements Filter
{
protected String encoding=null??//??????????????
protected boolean ignore=true??//???????????????????????????
protected FilterConfig filterConfig=null??//???????????????????null?????????????δ????
public void destroy()//?????????????
{
this.encoding=null??
this.filterConfig=null??
}
//???????????
public void doFilter(ServletRequest req??ServletResponse res??FilterChain chain)
throws IOException??ServletException
{
if(ignore||(req.getCharacterEncoding()==null))
{
req.setCharacterEncoding(selectEncoding(req))??
}
chain.doFilter(req??res)??
}
//?????????
public void init(FilterConfig filterConfig)throws ServletException
{
this.filterConfig=filterConfig??
this.encoding=filterConfig.getInitParameter("encoding")??
String value=filterConfig.getInitParameter("ignore")??
if(value==null) this.ignore=true??
else if(value.equalsIgnoreCase("true")
||value.equalsIgnoreCase("yes")) this.ignore=true??
else this.ignore=false??
}
//???????????????
protected String selectEncoding(ServletRequest req)
{
return this.encoding??
}
//????filterConfig????
public FilterConfig getFilterConfig()
{
return filterConfig??
}
//????filterConfig????
public void setFilterConfig(FilterConfig filterConfig)
{
this.filterConfig=filterConfig??
}
}