標籤:stat val xxx 允許 apr pos public script override
方法一、繼承 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);
方法二、沒找到 ! - _ - !
Java Web 修改請求參數