spring mvc 拦截器打印详细的请求参数信息
来源:互联网 发布:2011安全生产事故数据 编辑:程序博客网 时间:2024/05/16 13:48
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {// 所有请求第一个进入的方法String reqURL = request.getRequestURL().toString(); String ip = request.getRemoteHost (); InputStream is = request.getInputStream (); StringBuilder responseStrBuilder = new StringBuilder (); BufferedReader streamReader = new BufferedReader (new InputStreamReader (is,"UTF-8")); String inputStr; while ((inputStr = streamReader.readLine ()) != null) responseStrBuilder.append (inputStr);// System.out.println("请求参数: " + responseStrBuilder.toString ()); String parmeter = responseStrBuilder.toString(); long startTime = System.currentTimeMillis(); request.setAttribute("startTime", startTime); if (handler instanceof HandlerMethod) { StringBuilder sb = new StringBuilder(1000); sb.append("-----------------------").append(MiscUtil.getDateTimeString()).append("-------------------------------------\n"); HandlerMethod h = (HandlerMethod) handler; //Controller 的包名 sb.append("Controller: ").append(h.getBean().getClass().getName()).append("\n"); //方法名称 sb.append("Method : ").append(h.getMethod().getName()).append("\n"); //请求方式 post\put\get 等等 sb.append("RequestMethod : ").append(request.getMethod()).append("\n"); //所有的请求参数 sb.append("Params : ").append(parmeter).append("\n"); //部分请求链接 sb.append("URI : ").append(request.getRequestURI()).append("\n"); //完整的请求链接 sb.append("AllURI : ").append(reqURL).append("\n"); //请求方的 ip地址 sb.append("request IP: ").append(ip).append("\n"); logger.info(sb.toString()); }// 修改request中的参数并保存到request中 request.setAttribute("parmeter_json", parmeter); return true;}
这里有的问题是request 只能被读一次 第二次去读取将拿不到里面的内容
解决方法是:向request 在写入一个对象 将所有的参数都写进去
打印的日志如下:
Controller: com.cms.controller.testController
Method : playList
RequestMethod : POST
Params : { "param": { "page_num": "1", "page_size": "20" }}
URI : /cms-api/test/online_play_list/1
AllURI : http://localhost:8080/cms-api/test/online_play_list/1
request IP: 0:0:0:0:0:0:0:1
阅读全文
0 0
- spring mvc 拦截器打印详细的请求参数信息
- Spring Mvc 公共Controller 使用拦截器注入请求信息
- 使用ProceedingJoinPoint获取当前请求的方法等参数——spring mvc拦截器
- spring mvc打印信息
- spring mvc 拦截器拦截 js,css等请求,
- Spring MVC的拦截器
- Spring MVC的拦截器
- Spring MVC的拦截器
- Spring MVC的拦截器
- spring mvc 请求参数
- Spring MVC 的请求参数获取
- Spring MVC 的请求参数获取
- Spring MVC 的请求参数获取
- Spring MVC 的请求参数获取
- Spring mvc 接受请求参数的方式
- Spring MVC 的请求参数获取
- Spring MVC请求参数获取的方法
- spring-mvc拦截器+注解 解决重复请求
- 第6天 函数的使用及有关定义
- spring batch
- qcom rf 硬件连接
- java类与c++类的区别
- Linux命令grep -a:Binary file (standard input) matches
- spring mvc 拦截器打印详细的请求参数信息
- 洛谷 P1328 生活大爆炸版石头剪刀布
- Matlab 并行代码
- 关于寻找shape特征(feature)的方法总结
- 从oracle中导出数据到access中,以mdb格式导出文件
- git上传项目到github
- 五大常用算法之一:分治算法
- 洛谷 P1019 单词接龙
- java和C结构体通信