如何修改request的parameter
来源:互联网 发布:百度云加速 seo 编辑:程序博客网 时间:2024/06/06 04:05
@Componentpublic class UserBehaviorFilter extends AbstractWebFilter {@Overridepublic void doFilter(ServletRequest request, ServletResponse response,FilterChain chain) throws IOException, ServletException {HttpServletRequest httpRequest = (HttpServletRequest)request;HttpServletResponse httpResponse = (HttpServletResponse)response;// 打印request真实调用的实例路径 D:/Users/.ivy2/cache/jetty/server/jars/jetty-server-8.1.16.v20140903-8.1.16.jar!/org/eclipse/jetty/server/System.out.println(request.getClass().getResource("").getPath());try {Class<?> clazz = Class.forName("org.eclipse.jetty.server.Request");// 调用getRequest(request)方法,获取Request对象Method method = clazz.getMethod("getRequest", HttpServletRequest.class);Object requestObj = method.invoke(null, request);// 调用getParameterMap()Method getParameterMapMethod = clazz.getMethod("getParameterMap");getParameterMapMethod.invoke(requestObj);// 获取MultiMap<String> _parameters值Field _parametersField = requestObj.getClass().getDeclaredField("_parameters");_parametersField.setAccessible(true);Object _parametersObj = _parametersField.get(requestObj);// 获取MultiMap._map的值Field _mapField = _parametersField.getType().getDeclaredField("_map");_mapField.setAccessible(true);Object _mapObj = _mapField.get(_parametersObj);@SuppressWarnings("unchecked")Map<String, Object> map = (Map<String, Object>) _mapObj;map.put("name", "zhangsan!");} catch (Exception e) {logger.error("doFilter error", e);}chain.doFilter(httpRequest, httpResponse);}}
@RequestMapping("/http/pss/demo") @ResponseBody public CommonVO demo(@RequestParam("code")String code, @RequestParam("name")String name, HttpServletRequest request) { logger.info("name="+ name); logger.info("name="+ request.getParameter("name")); return null; }
控制台打印:
[16:32:37] [INFO] [<T=R0LsNnbuo00yI0t2>] AppropriateTransformationController: name=zhangsan!
[16:32:40] [INFO] [<T=R0LsNnbuo00yI0t2>] AppropriateTransformationController: name=zhangsan!
jetty-server-8.1.16.v20140903-8.1.16源码下载地址:
https://github.com/eclipse/jetty.project/releases?after=jetty-9.0.0.M0
请求路径:
http://127.0.0.1:8088/http/pss/demo?code=A88888
阅读全文
0 0
- 如何修改request的parameter
- 如何修改request的parameter的几种方式
- 如何修改request的parameter的几种方式
- 如何修改request的parameter的几种方式
- 如何修改request的parameter的几种方式
- request改变parameter的值
- JSP Request attribute 和 parameter的区别
- Request中Attribute 和 Parameter 的区别
- Lazy Request Parameter Parser
- myeclipse的DEBUG模式下查找request的parameter值
- struts使用bean:parameter标签获取request提交的参数
- Fiddler:如何读取本地文件修改Request参数
- java修改request的paramMap
- java修改request的paramMap
- java修改request的paramMap
- 修改Request的请求路径
- github 修改fork的代码之后如何提交代码并pull request
- 强制修改parameter
- Eclipse快捷键整理
- 前端一些棘手的问题
- 开门第一篇
- MRUnit测试map/reduce
- hpuoj 【1112】合并数字【水题】
- 如何修改request的parameter
- js合并两个json对象
- UVA10587 Mayor's posters
- vlc-for-android
- sqlserver将查询的单列结果集拼成一行字符串用逗号分隔
- [Python]编码声明:是coding:utf-8还是coding=urf-8呢
- 网络流
- java.lang.UnsatisfiedLinkError: no msc64 in java.library.path
- PHP常用函数