HttpServletRequestWrapper用法
- 2015-10-26 13:36:00
- admin 原创
- 2772
自己写类继承HttpServletRequestWrapper,HttpServletRequestWrapper实现了HttpServletRequest接口。
自定义请求包装器包装请求,将字符编码转换的工作添加到getParameter()方法中
实际上就是调用被包装的请求对象的getParameter方法获得参数
/**
* 通过包装器存放参数的Map对象,如果参数有多个值返回第一个值。
public String getParameter(String name) {
String value = null;
String[] valueArray = (String[]) parameters.get(name);
if ((valueArray != null) && (valueArray.length > 0)) {
value = valueArray[0];
}
return value;
}
/ * 通过包装器存放参数的Map对象获得参数,如果不为null ,以String[]形式返回。
*/
public String[] getParameterValues(String name) {
String[] value = (String[]) parameters.get(name);
return value;
}
/**
* 覆盖getParameter方法,将参数名和参数值都做xss过滤。<br/>
* 如果需要获得原始的值,则通过super.getParameterValues(name)来获取<br/>
* getParameterNames,getParameterValues和getParameterMap也可能需要覆盖
*/
1.request.getParameterNames()方法是将发送请求页面中form表单里所有具有name属性的表单对象获取(包括button).返回一个Enumeration类型的枚举.
Enumeration pNames=request.getParameterNames();
while(pNames.hasMoreElements()){
String name=(String)pNames.nextElement();
String value=request.getParameter(name);
out.print(name + "=" + value);
}
2.request.getParameterValues("name")方法将获取所有form表单中name属性为"name"的值.该方法返回一个数组.
3.request.getParameterMap()的返回类型是Map类型的对象,也就是符合key-value的对应关系,但这里要注意的是,value的类型是String[],而不是String.
发表评论
文章分类
联系方式
联系人: | 郑州-小万 |
---|---|
电话: | 13803993919 |
Email: | 1027060531@qq.com |
QQ: | 1027060531 |
网址: | www.wanhejia.com |
Update Required
To play the media you will need to either update your browser to a recent version or update your Flash plugin.