[color=black]package myfilter;
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.HttpServletResponse;
public class GBKFilter implements Filter {
public void destroy() {
// TODO Auto-generated method stub
}
public void doFilter(ServletRequest request, ServletResponse response,
FilterChain chain) throws IOException, ServletException {
System.out.println("开始过滤中文编码......");
HttpServletRequest req = (HttpServletRequest)request;
HttpServletResponse res = (HttpServletResponse)response;
//获取当前请求的类型
String method = req.getMethod();
if(method.equals("POST")) {
req.setCharacterEncoding("UTF-8");
} else {
//获取当前提交的参数
String queryString = req.getQueryString();
System.out.println(queryString);
//判断是否有参数
if(queryString != null) {
//判断参数是否只有一个
if(queryString.indexOf("&") == -1) {
String[] strs = queryString.split("=");
//通过参数的key手动编码解码
String param = new String(
req.getParameter(strs[0]).getBytes("ISO-8859-1"),"utf-8");
req.setAttribute(strs[0], param);
} else {
String[] strsquery = queryString.split("&");
for (int i = 0; i < strsquery.length; i++) {
String[] strs = strsquery[i].split("=");
//通过参数的key手动编码解码
String param = new String(
req.getParameter(strs[0]).getBytes("ISO-8859-1"),"utf-8");
req.setAttribute(strs[0], param);
}
}
}
}
chain.doFilter(req, res);
}
public void init(FilterConfig arg0) throws ServletException {
System.out.println("GBK过滤器初始化成功");
}
}[/color][size=large][/size]
分享到:
相关推荐
NULL 博文链接:https://slccie.iteye.com/blog/897429
可能就会是乱码,这是因为serlvet中默认是以ISO-8859-1格式编码的,如果后台有多个Servlet,多个参数,这样就不合适,这个问题,我们可以通过一个过滤器统一解决,使后台的输出输出都支持中文!将ISO-8859-1转码为GBK...
用MyEclipse 8.5 开发的JavaWeb页面编码过滤器.支持所有web页面,包括servlet
STRUTS ActionForm乱码,servlet全局过滤器转义编码
本资源包含 防盗链 、字符编码过滤、日志、异常处理、权限管理、字符过滤、图片水印、Cache缓存等 可直接使用 使用方法请看配置文件
javaweb 中过滤器的设置 包括配置文件和servlet的设置
JavaWeb Servlet中Filter过滤器的详解 1.简述 Filter过滤器,对web服务器所有web资源进行过滤,从而实现一些特殊的功能(权限访问控制、过滤敏感词汇、压缩响应信息)。Filter能够对Servlet容器的请求和响应进行检查...
最简单的写法 只要JSP页面的 编码格式和 web.xml 编码格式一样就行
对struts2配置,针对网个网站的任何文件的编码都使用SERVLET encodingfilter中设定的 解决字符编码的过滤器
很有用的几个过滤器编程的例子,验证非法文字、验证登录和统一编码
Servlet过滤器大全,各种详细使用的代码! 一、字符编码的过滤器 二、使浏览器不缓存页面的过滤器 三、检测用户是否登陆的过滤器 四、资源保护过滤器 五 利用Filter限制用户浏览权限
通过servlet过滤器来解决request的编码的设置。这个方法不需要改动原来的代码,比较好。现成的写好的过滤器代码,只要把它编译一下就可以用了.
jsp 中的字符过滤器,屏蔽网页中或JFreeChart中的乱码问题
JSP 开发中过滤器filter设置编码格式的实现方法 我们知道为了避免提交数据的乱码问题,需要在每次使用请求之前设置编码格式。在你复制粘贴了无数次request.setCharacterEncoding(“gb2312”);后,有没有想要一劳永逸...
在Java Web程序开发中,由于Web容器内部使用编码格式并不支持中文字符集,所以,处理浏览器请求中的中文数据就会出现乱码的现象。由于Web容器使用了ISO-...如果通过过滤器来处理字符编码,就可以做到简单又万无一失。
1 用过滤器实现数据初始化 2 用过滤器实现中文编码转换 3 用servlet实现页面控件 4 sql2005 由于sql2000不支持对text类型的查询.sql2005则支持. 5 HashMap是随机从中取数据的.而采用LinkedHashMap即链表...
使用过滤器,可以省略掉页面和应用程序之间频繁的编码转换。
详解JSP中使用过滤器进行内容编码的解决办法 问题 当通过JSP页面,向数据库中插入记录的时候,可能因为JSP页面编码原因,导致插入到数据库中的新纪录出现乱码。因此需要对JSP页面中的内容进行编码操作,从而保证与...
主要解决表单提交中文乱码问题,主要针对页面GET提交的处理编码问题,设计知识 过滤器,servlet,装饰设计模式等
自己写的Web开发工具包。具体包含下面4个部分: <br> 1. 一个简单的servlet+javabean+view的框架,... 生成验证码的Servlet和编码过滤器; 4. 对jakarta commons-fileupload封装便于上传下载的工具类。 <br>