新手入门:web项目控制台显示信息教程(对于新手开发,本地测试都很有用)
web项目控制台显示信息教程(对于新手开发,本地测试都很有用)
效果如图显示:
环境 spring mvc 框架底下实现
(1)首先创建一个类代码如下:
package com.wmc.web.interceptor; import java.util.Arrays; import java.util.Date; import java.util.Map; import java.util.Map.Entry; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.web.method.HandlerMethod; import org.springframework.web.servlet.ModelAndView; import org.springframework.web.servlet.handler.HandlerInterceptorAdapter; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; public class MethodFilter extends HandlerInterceptorAdapter { private final static Logger logger = LoggerFactory.getLogger(MethodFilter.class); public void afterCompletion(HttpServletRequest arg0, HttpServletResponse arg1, Object arg2, Exception arg3) throws Exception { } public void postHandle(HttpServletRequest arg0, HttpServletResponse arg1, Object arg2, ModelAndView arg3) throws Exception { try { long XY_RunStartTime = (Long) arg0.getAttribute("XY_RunStartTime"); long XY_RunEndTime = System.currentTimeMillis(); long XY_ExecuteTime = XY_RunEndTime - XY_RunStartTime; if (arg2 instanceof HandlerMethod) { logger.info("耗时时间:{}ms", XY_ExecuteTime); } } catch (Exception e) { logger.warn("", e); } } public boolean preHandle(HttpServletRequest request, HttpServletResponse arg1, Object arg2) throws Exception { try { long XY_RunStartTime = System.currentTimeMillis(); request.setAttribute("XY_RunStartTime", XY_RunStartTime); if (arg2 instanceof HandlerMethod) { HandlerMethod h = (HandlerMethod) arg2; if(h.getBean().getClass().getName().indexOf("$")>0){ logger.info("请求类:{}", h.getBean().getClass().getName().substring(0, h.getBean().getClass().getName().indexOf("$"))); }else{ logger.info("请求类:{}", h.getBean().getClass().getName()); } logger.info("请求参数:{}", getParamString(request.getParameterMap())); } logger.info("请求方法:{}", request.getServletPath()); } catch (Exception e) { logger.warn("", e); } return true; } private String getParamString(Map<String, String[]> map) { StringBuilder sb = new StringBuilder(); for(Entry<String,String[]> e:map.entrySet()){ sb.append(e.getKey()).append("="); String[] value = e.getValue(); if(value != null && value.length == 1){ sb.append(value[0]).append("\t"); }else{ sb.append(Arrays.toString(value)).append("\t"); } } return sb.toString(); } }(2)配置一个过滤器 在Spring mvc xml文件中,代码如下
<mvc:interceptors>
<!--使用bean定义一个Interceptor,直接定义在mvc:interceptors根下面的Interceptor将拦截所有的请求--><mvc:interceptor><mvc:mappingpath="/**"/>
<mvc:exclude-mappingpath="/static/**"/>
<beanclass="com.wmc.web.interceptor.MethodFilter"/></mvc:interceptor>
</mvc:interceptors>
(3)重新启动服务器就好了。 这个时候你会在控制台看到你所调用的URL,传递参数等一系列你想要信息
希望能帮到大家。大家如果有兴趣可以来我的网站看看:www.jiegelo.com