zoukankan      html  css  js  c++  java
  • Java Web 修改请求参数

    方法一、继承 HttpServletRequestWrapper , 实现自定义 request

      1、除了修改的参数,其他 Header 等参数不变, 等同于修改了请求参数

      2、实质是另一个请求

    /**
     * @author zxguan
     * @description
     * @create 2018-03-02 9:51
     */
    public class ParameterRequestWrapper extends HttpServletRequestWrapper {
    
        private Map params;
    
        public ParameterRequestWrapper(HttpServletRequest request, Map paramMap) {
            super(request);
            params = paramMap;
        }
    
        @Override
        public Map<String, String[]> getParameterMap() {
            return params;
        }
    
    }
    //这里用 new HashMap<>重新生成一个Map,因为 request.getParameterMap() 获取的参数列表不允许修改【java.lang.IllegalStateException: No modifications are allowed to a locked ParameterMap】
    Map<String, String[]> paramMap = new HashMap<>(request.getParameterMap());
    //xxx为要覆盖的参数, valueStr为真实参数值, wraprequest为新生成的自定义请求
    paramMap.put("xxx", new String[]{valueStr});
    ParameterRequestWrapper wrapRequest = new ParameterRequestWrapper(request, paramMap);

    方法二、没找到 ! - _ - !

  • 相关阅读:
    《Python 学习手册4th》 第十一章 赋值、表达式和打印
    《Python 学习手册4th》 第十章 Python语句简介
    视图
    表约束
    表值参数
    表操作
    MSSQL数据批量插入优化详细
    SQL Server表分区
    表分区中的分区交换
    maven命令和maven插件
  • 原文地址:https://www.cnblogs.com/zxguan/p/8492257.html
Copyright © 2011-2022 走看看