jsp+mysql项目里面,在和数据库交互的时候,总是出现乱码。这都是老生常谈的事情了。

之前在那里放了一放,今天觉得还是尽早解决。用了一个过滤器。

代码:

package wang.util;

import java.io.IOException;

import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse; public class EncodeFilter implements Filter { private String requestEncoding="";
private String responseEncoding=""; public void destroy() {
// TODO Auto-generated method stub
System.out.println("字符编码过滤器销毁!");
} public void doFilter(ServletRequest request, ServletResponse response, FilterChain filterChain) throws IOException, ServletException {
// TODO Auto-generated method stub
System.out.println("编码过滤器运行中。。。");
request.setCharacterEncoding(requestEncoding);
response.setContentType(responseEncoding);
filterChain.doFilter(request, response); } public void init(FilterConfig arg0) throws ServletException {
// TODO Auto-generated method stub
System.out.println("字符编码过滤器初始化!");
requestEncoding=arg0.getInitParameter("requestEncoding");
responseEncoding=arg0.getInitParameter("responseEncoding");
} }

然后,web.xml配置一下

<!-- 编码过滤器开始 -->
<filter>
<filter-name>filterEncoding</filter-name>
<filter-class>wang.util.EncodeFilter</filter-class>
<init-param>
<param-name>requestEncoding</param-name>
<param-value>utf-8</param-value>
</init-param>
<init-param>
<param-name>responseEncoding</param-name>
<param-value>text/html;charset=utf-8</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>filterEncoding</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<!-- 编码过滤器结束 -->

怕再出问题,于是就再干脆点,连接的地方,也设定编码

private String dbUrl="jdbc:mysql://localhost:3306/mycows?useUnicode=true&characterEncoding=utf-8";

然后一切ok,也省的在每个servlet里面设置编码了。

最新文章

  1. javascript判断变量是不是空值
  2. Java反射深入浅出(一)
  3. Ajax请求中的async:false/true的作用
  4. Android实战技巧:深入解析AsyncTask
  5. 第二百八十七天 how can I 坚持
  6. C primer plus 读书笔记第二章
  7. Codeforces 527D Clique Problem
  8. Linux部署ASP.NET 5 (vNext)
  9. ArrayList/List 泛型集合
  10. mysql的常用引擎
  11. linux中的三个文件时间
  12. codeforces868D Huge Strings
  13. JAVA 访问WebRoot下的目录文件
  14. SQL Server创建Job, 实现执行相同脚本而产生不同作业计划的探究
  15. python实现单线程多任务非阻塞TCP服务端
  16. 爱因斯坦求和约定 (Einstein summation convention)
  17. Python递归解压缩多级.zip压缩包
  18. mac安装VMware虚拟机(含序列号)及Ubuntu系统
  19. 数据转换bug花了半天时间 Java.math.BigDecimal cannot be cast to java.lang.String
  20. Windows 上安装docker

热门文章

  1. 学习笔记之Android
  2. MySQL与PostgreSQL相比哪个更好?
  3. yyblog2.0 数据库开发规范
  4. canvas合成和裁剪
  5. django之模型
  6. go run helper
  7. MySQL备份恢复全实战
  8. js跳出for循环
  9. Selenium+TestNG+Maven 搭建
  10. Kubernetes的UI界面Kubernetes Dashboard的搭建