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