HttpServletRequestWrapper用法

2015-10-26 13:36:00
admin
原创
2772
摘要:HttpServletRequestWrapper用法
HttpServletRequestWrapper
自己写类继承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