zoukankan
html css js c++ java
用java过滤器解决中文乱码_百度文库
java中文乱码过滤器2010-10-14 10:56:07| 分类: java | 标签: |字号大 中 小 订阅 package filters; 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; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequestWrapper; public class TomcatFormFilter implements Filter { /** * Request.java * 对 HttpServletRequestWrapper 进行扩充, 不影响原来的功能并能提供所 有的 HttpServletRequest * 接口中的功能. 它可以统一的对 Tomcat 默认设置下的中文问题进行解决而只 需要用新的 Request 对象替换页面中的 * request 对象即可. */ class Request extends HttpServletRequestWrapper { public Request(HttpServletRequest request) { super(request); } /** * 转换由表单读取的数据的内码. * 从 ISO 字符转到 GBK. */ public String toChi(String input) { try { byte[] bytes = input.getBytes("ISO8859-1"); return new String(bytes, "GBK"); } catch (Exception ex) { } return null; } /** * Return the HttpServletRequest holded by this object. */ private HttpServletRequest getHttpServletRequest() { return (HttpServletRequest)super.getRequest(); } /** * 读取参数 -- 修正了中文问题. */ public String getParameter(String name) { return toChi(getHttpServletRequest().getParameter(name)); } /** * 读取参数列表 - 修正了中文问题. */ public String[] getParameterValues(String name) { String values[] = getHttpServletRequest().getParameterValues(name); if (values != null) { for (int i = 0; i < values.length; i++) { values[i] = toChi(values[i]); } } return values; } } public void destroy() { } public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { HttpServletRequest httpreq = (HttpServletRequest)request; if(httpreq.getMethod().equals("POST")) { request.setCharacterEncoding("GBK"); } else { request = new Request(httpreq); } chain.doFilter(request, response); } public void init(FilterConfig filterConfig) throws ServletException { } } 本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/abs1285/archive/2008/03/30/2231393.aspx
欢迎转载,转载请注明出处。本文出自:
http://www.cnblogs.com/zdcaolei
0
查看全文
相关阅读:
eclipse中编译出现错误undefined reference to `_sbrk'
STM32L431驱动带UC1698芯片调试记录
IAR里面STM32工程使用printf
STM32L431仿真卡在HAL_InitTick(TICK_INT_PRIORITY);
电信NB-IOT的温湿度采集器开发记录
程序运行之ELF文件的段
linux c编程:进程控制(二)_竞争条件
ubuntun下安装Fiddler
程序运行之目标文件(一)
linux c编程:进程控制(一)
原文地址:https://www.cnblogs.com/zdcaolei/p/2122941.html
最新文章
OpenGL超级宝典总结(二)2D/3D笛卡尔坐标、坐标裁剪、纹理坐标、MVP转换等概念
OpenGL 4.0 GLSL 基础教程概览——VAO和VBO常用操作接口
基于Cocos2d-x学习OpenGL ES 2.0系列——OpenGL ES渲染之LayerColor(8)
基于Cocos2d-x学习OpenGL ES 2.0系列——OpenGL ES渲染之Shader准备(7)
基于Cocos2d-x学习OpenGL ES 2.0系列——纹理贴图(6)
基于Cocos2d-x学习OpenGL ES 2.0系列——你的第一个立方体(5)
基于Cocos2d-x学习OpenGL ES 2.0系列——使用VBO索引(4)
eclipse中注释的代码依然会执行的解决方法
MySQL模糊查询中通配符的转义
JFreeChart绘制折线图实例
热门文章
错误:The request sent by the client was syntactically incorrect的解决
springMVC中使用POI方式导出excel至客户端、服务器实例
springMVC注解方式+easyUI+MYSQL配置实例
word中批量转换字母数字为Times New Roman
word中正文分栏重新换页问题
使用EndNote在Word中插入参考文献的格式设置
MSP430编译器__intrinsic指令
MSP430FR6972的串口波特率设置代码
MSP430的JTAG接口和BSW接口
NB-IOT模组指令AT+NMSTATUS和AT+CGPADDR对比
Copyright © 2011-2022 走看看