乱码过虑器(对于get和post提交方法都有用)
来源:互联网 发布:图书借阅软件 编辑:程序博客网 时间:2024/04/26 15:14
/*
过虑器代码
*/
import java.io.IOException;
import java.util.Enumeration;
import java.util.HashMap;
import java.util.Map;
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;
public class Filter_test3 implements Filter {
FilterConfig filterConfig;//用于保存初始化传递配置文件中的参数
public void destroy() {}
@SuppressWarnings("unchecked")
public void doFilter(ServletRequest request, ServletResponse response,
FilterChain chain) throws IOException, ServletException {
//用于保存get方式转换编码后的数据(key-->value)
Map<String, String> parameterMap = new HashMap<String, String>();
//转换为子接口
HttpServletRequest req = (HttpServletRequest)request;
//获取表单中的元素名称集合
Enumeration<String> enumber = req.getParameterNames();
while(enumber.hasMoreElements()){
//获取每个元素的名称
String eleName = enumber.nextElement();
//获取名称对应的value值
String eleValue = req.getParameter(eleName);
//获取配置中的编码方式
String encode = filterConfig.getInitParameter("encoding");
//将转换后的名称的值保存到map中
parameterMap.put(eleName, new String(eleValue.getBytes("iso-8859-1"),encode));
}
//保存到request中
req.setAttribute("formParam", parameterMap);
chain.doFilter(request, response);//继续执行请求
parameterMap.clear();//处理完成后清空map中的值
}
public void init(FilterConfig arg0) throws ServletException {
this.filterConfig = arg0;
}
}
/*
web.xml配置文件(过虑器部分)
*/
<filter>
<filter-name>Filter_test3</filter-name>
<filter-class>com.fx.Filter_Work.Filter.Filter_test3</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>utf-8</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>Filter_test3</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
- 乱码过虑器(对于get和post提交方法都有用)
- get和post方式提交乱码问题
- get 和 post 方式提交乱码问题
- post 和get提交的乱码问题
- 提交表单post和get乱码
- GET和POST提交乱码解决方案
- GET和POST提交乱码解决方案
- Post 提交中文乱码问题和GET提交乱码问题
- tomcat post提交和get提交产生乱码的解决办法
- 表单提交方法post和get区别
- 提交方法:post和get比较
- GET和POST提交方法的区别
- 用Filter解决GET和POST提交的中文乱码方法
- 表单通过get和post方式提交数据解决乱码的方法
- 用Filter解决GET和POST提交的中文乱码方法
- Get和post都能够提交数据的区别
- get post提交中文乱码
- get、post方法提交时的乱码问题解决
- 数据库之【异常处理篇】
- nginx下配置zendframe一种简单方法
- twisted实现udp广播聊天
- 手把手教你把Vim改装成一个IDE编程环境
- s2si配置2
- 乱码过虑器(对于get和post提交方法都有用)
- Yipit的“一夜成名”及其背后的坚持
- 数据库语言之【DDL/DML/TCL/DCL篇】
- 开始工作后,一个人会失去什么?
- sdsa
- 学习正则表达式(2012-4-11)
- 运算器的发展
- 聊天随想
- spoj 145 Aliens(增量法+最小包围圈)