org.springframework.web.context.request.ServletRequestAttributes#getRequest ( )源码实例Demo

下面列出了org.springframework.web.context.request.ServletRequestAttributes#getRequest ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。

源代码1 项目: ProxyPool   文件: WebLogAspect.java
@Before("log()")
public void doBeforeController(JoinPoint joinPoint) {

    // 接收到请求,记录请求内容
    log.debug("WebLogAspect.doBefore()");
    ServletRequestAttributes attributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes();
    HttpServletRequest request = attributes.getRequest();

    // 记录下请求内容
    log.debug("URL : " + request.getRequestURL().toString());
    log.debug("HTTP_METHOD : " + request.getMethod());
    log.debug("IP : " + request.getRemoteAddr());
    log.debug("CLASS_METHOD : " + joinPoint.getSignature().getDeclaringTypeName() + "." + joinPoint.getSignature().getName());
    log.debug("ARGS : " + Arrays.toString(joinPoint.getArgs()));
    //获取所有参数方法一:
    Enumeration<String> enu = request.getParameterNames();
    while (enu.hasMoreElements()) {
        String paraName = (String) enu.nextElement();
        System.out.println(paraName + ": " + request.getParameter(paraName));
    }
}
 
源代码2 项目: yyblog   文件: WebLogAspect.java
@Before("logPointCut()")
    public void doBefore(JoinPoint joinPoint) throws Throwable {
        // 接收到请求,记录请求内容
        ServletRequestAttributes attributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes();
        HttpServletRequest request = attributes.getRequest();

        // 记录下请求内容
        logger.info("请求地址 : " + request.getRequestURL().toString());
        logger.info("HTTP METHOD : " + request.getMethod());
        // 获取真实的ip地址
        //logger.info("IP : " + WebUtils.getIpAddress(request));
        logger.info("CLASS_METHOD : " + joinPoint.getSignature().getDeclaringTypeName() + "."
                + joinPoint.getSignature().getName());
        logger.info("参数 : " + Arrays.toString(joinPoint.getArgs()));
//        loggger.info("参数 : " + joinPoint.getArgs());

    }
 
@Around("restLog()")
public void doAround(ProceedingJoinPoint joinPoint) throws Throwable {

    // 生成本次请求时间戳
    String timestamp = System.currentTimeMillis()+"";

    RequestAttributes ra = RequestContextHolder.getRequestAttributes();
    ServletRequestAttributes sra = (ServletRequestAttributes) ra;
    HttpServletRequest request = sra.getRequest();

    String url = request.getRequestURL().toString();
    String method = request.getMethod();
    String uri = request.getRequestURI();
    String queryString = request.getQueryString();
    logger.info(timestamp + ", url: {}, method: {}, uri: {}, params: {}", url, method, uri, queryString);

    // result的值就是被拦截方法的返回值
    Object result = joinPoint.proceed();
    logger.info(timestamp + " , " + result.toString());
}
 
源代码4 项目: SpringBoot-Course   文件: HttpAspect.java
@Before("log()")
public void doBefore(JoinPoint joinPoint) {
    ServletRequestAttributes attributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes();
    HttpServletRequest request = attributes.getRequest();

    Map params = new HashMap();
    params.put("url", request.getRequestURL()); // 获取请求的url
    params.put("method", request.getMethod()); // 获取请求的方式
    params.put("ip", request.getRemoteAddr()); // 获取请求的ip地址
    params.put("className", joinPoint.getSignature().getDeclaringTypeName()); // 获取类名
    params.put("classMethod", joinPoint.getSignature().getName()); // 获取类方法
    params.put("args", joinPoint.getArgs()); // 请求参数

    // 输出格式化后的json字符串
    Gson gson = new GsonBuilder().setPrettyPrinting().create();

    logger.info("REQUEST: {}", gson.toJson(params));
}
 
源代码5 项目: SuperBoot   文件: PubServiceImpl.java
/**
 * 获取ASE密钥信息
 *
 * @return
 */
private String getAesKey() {
    ServletRequestAttributes attributes = getServletRequestAttributes();
    HttpServletRequest request = attributes.getRequest();
    String secretKey = request.getHeader(BaseConstants.SECRET_KEY);
    if (StrUtil.isNotBlank(secretKey)) {
        //执行RSA解密
        try {
            return rsaDecrypt(secretKey);
        } catch (Exception e) {
            throw new BaseException(StatusCode.DECODE_FAIL);
        }
    }

    return null;
}
 
源代码6 项目: Jantent   文件: LogAspect.java
@Before("webLog()")
public void doBefore(JoinPoint joinPoint) throws Throwable {
    // 接收到请求,记录请求内容
    ServletRequestAttributes attributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes();
    HttpServletRequest request = attributes.getRequest();
    // 记录下请求内容
    logger.info("URL : " + request.getRequestURL().toString() + ",IP : " + request.getRemoteAddr() + ",CLASS_METHOD : " + joinPoint.getSignature().getDeclaringTypeName() + "." + joinPoint.getSignature().getName() + ",ARGS : " + Arrays.toString(joinPoint.getArgs()));
}
 
源代码7 项目: Qualitis   文件: DaoAspect.java
@AfterReturning(pointcut = "ruleTemplateAspect()", returning = "object")
public void ruleTemplateAspectAfter(JoinPoint joinPoint, Object object) throws InvocationTargetException, IllegalAccessException {
    ServletRequestAttributes attributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes();
    HttpServletRequest request = attributes.getRequest();
    String localeStr = request.getHeader("Content-Language");
    if (object != null) {
        replaceMessage(object, localeStr);
    }
}
 
源代码8 项目: ZTuoExchange_framework   文件: UpdatePayAspect.java
public void check(JoinPoint joinPoint) throws Exception {
    startTime.set(System.currentTimeMillis());
    // 接收到请求,记录请求内容
    ServletRequestAttributes attributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes();
    HttpServletRequest request = attributes.getRequest();
    AuthMember authMember = (AuthMember) request.getSession().getAttribute(SESSION_MEMBER);
    List<Order> list1 = orderService.getAllOrdering(authMember.getId());
    if (list1.size()>0){
        throw new IllegalArgumentException(msService.getMessage("HAVE_ORDER_ING"));
    }
    List<Advertise> list = advertiseService.getAllPutOnAdvertis(authMember.getId());
    if (list.size()>0){
        throw new IllegalArgumentException(msService.getMessage("MUST_PUT_OFF_ALL_ADVERTISE"));
    }
}
 
源代码9 项目: mogu_blog_v2   文件: CookieUtils.java
/**
 * 设置Cookie的值,并使其在指定时间内生效
 *
 * @param cookieMaxage cookie生效的最大秒数
 */
private static final void doSetCookie(String cookieName, String cookieValue, int cookieMaxage, boolean isEncode) {
    ServletRequestAttributes attribute = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes();
    HttpServletRequest request = attribute.getRequest();
    HttpServletResponse response = attribute.getResponse();
    try {
        if (cookieValue == null) {
            cookieValue = "";
        } else if (isEncode) {
            cookieValue = URLEncoder.encode(cookieValue, "utf-8");
        }
        Cookie cookie = new Cookie(cookieName, cookieValue);
        if (cookieMaxage > 0) {
            cookie.setMaxAge(cookieMaxage);
        }
        if (null != request) {// 设置域名的cookie
            String domainName = getDomainName(request);
            System.out.println(domainName);
            if (!"localhost".equals(domainName)) {
                cookie.setDomain(domainName);
            }
        }
        cookie.setPath("/");
        response.addCookie(cookie);
    } catch (Exception e) {
        e.printStackTrace();
    }
}
 
源代码10 项目: docs-manage   文件: WebLogAspect.java
@Before("webLog()")
public void doBefore(JoinPoint joinPoint) {
    startTime.set(System.currentTimeMillis());

    ServletRequestAttributes attributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes();
    HttpServletRequest request = attributes.getRequest();

    logger.info("HTTP_METHOD: {}, URL: {}, IP: {}, CLASS_METHOD: {}, ARGS: {}", request.getMethod(),
            request.getRequestURL().toString(), request.getRemoteAddr(),
            joinPoint.getSignature().getDeclaringTypeName() + "." + joinPoint.getSignature().getName(),
            Arrays.toString(joinPoint.getArgs()));
}
 
源代码11 项目: macrozheng-mall   文件: UmsAdminServiceImpl.java
/**
 * 添加登录记录
 * @param username 用户名
 */
private void insertLoginLog(String username) {
    UmsAdmin admin = getAdminByUsername(username);
    UmsAdminLoginLog loginLog = new UmsAdminLoginLog();
    loginLog.setAdminId(admin.getId());
    loginLog.setCreateTime(new Date());
    ServletRequestAttributes attributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes();
    HttpServletRequest request = attributes.getRequest();
    loginLog.setIp(request.getRemoteAddr());
    loginLogMapper.insert(loginLog);
}
 
源代码12 项目: Gatekeeper   文件: UserSupplier.java
/**
 * Supplies a UserProfile instance representing the currently active user.
 *
 * Currently checks if an active HttpServletRequest is available and if so looks up the
 * UserPrincipal contained there.  If the active request does not contain a UserProfile
 * then an IllegalStateException is thrown.
 *
 * If there's no ServletRequestAttribute than throw an IllegalStateException
 *
 * @return the currently active UserProfile
 */
@Override
public IGatekeeperUserProfile get() {
    ServletRequestAttributes requestAttributes =
            (ServletRequestAttributes) RequestContextHolder.getRequestAttributes();
    if (requestAttributes != null) {
        HttpServletRequest request = requestAttributes.getRequest();
        if (request.getUserPrincipal() == null) {
            throw new IllegalStateException("Could not determine user on request");
        }
        return (IGatekeeperUserProfile) request.getUserPrincipal();
    }

    throw new IllegalStateException("Could not determine user on request");
}
 
private HttpServletRequest getHttpServletRequest() {
    try {
        // hystrix隔离策略会导致RequestContextHolder.getRequestAttributes()返回null
        // 解决方案:http://www.itmuch.com/spring-cloud-sum/hystrix-threadlocal/
        ServletRequestAttributes attributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes();
        if (attributes != null)
            return attributes.getRequest();
        return null;
    } catch (Exception e) {
        return null;
    }
}
 
源代码14 项目: HIS   文件: WebLogAspect.java
@Around("webLog()")
    public Object doAround(ProceedingJoinPoint joinPoint) throws Throwable {
        //获取当前请求对象
        ServletRequestAttributes attributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes();
        HttpServletRequest request = attributes.getRequest();
        //记录请求信息(通过logstash传入elasticsearch)
        WebLog webLog = new WebLog();
        Object result = joinPoint.proceed();
        Signature signature = joinPoint.getSignature();
        MethodSignature methodSignature = (MethodSignature) signature;
        Method method = methodSignature.getMethod();
        if (method.isAnnotationPresent(ApiOperation.class)) {
            ApiOperation log = method.getAnnotation(ApiOperation.class);
            webLog.setDescription(log.value());
        }
        long endTime = System.currentTimeMillis();
        String urlStr = request.getRequestURL().toString();
        webLog.setBasePath(StrUtil.removeSuffix(urlStr, URLUtil.url(urlStr).getPath()));
        webLog.setIp(request.getRemoteUser());
        webLog.setMethod(request.getMethod());
        webLog.setParameter(getParameter(method, joinPoint.getArgs()));
        webLog.setResult(result);
        webLog.setSpendTime((int) (endTime - startTime.get()));
        webLog.setStartTime(startTime.get());
        webLog.setUri(request.getRequestURI());
        webLog.setUrl(request.getRequestURL().toString());
        Map<String,Object> logMap = new HashMap<>();
        logMap.put("url",webLog.getUrl());
        logMap.put("method",webLog.getMethod());
        logMap.put("parameter",webLog.getParameter());
        logMap.put("spendTime",webLog.getSpendTime());
        logMap.put("description",webLog.getDescription());
//        LOGGER.info("{}", JSONUtil.parse(webLog));
        LOGGER.info(Markers.appendEntries(logMap), JSONUtil.parse(webLog).toString());
        return result;
    }
 
源代码15 项目: feiqu-opensource   文件: BaseController.java
protected FqUserCache getCurrentUser(){
    ServletRequestAttributes servletRequestAttributes = ((ServletRequestAttributes) RequestContextHolder
            .getRequestAttributes());
    HttpServletRequest request = servletRequestAttributes
            .getRequest();
    HttpServletResponse response = servletRequestAttributes
            .getResponse();
    WebUtil webUtil = SpringUtils.getBean(WebUtil.class);
    return webUtil.currentUser(request,response);
}
 
源代码16 项目: mall-learning   文件: WebLogAspect.java
@Around("webLog()")
public Object doAround(ProceedingJoinPoint joinPoint) throws Throwable {
    long startTime = System.currentTimeMillis();
    //获取当前请求对象
    ServletRequestAttributes attributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes();
    HttpServletRequest request = attributes.getRequest();
    //记录请求信息
    WebLog webLog = new WebLog();
    Object result = joinPoint.proceed();
    Signature signature = joinPoint.getSignature();
    MethodSignature methodSignature = (MethodSignature) signature;
    Method method = methodSignature.getMethod();
    if (method.isAnnotationPresent(ApiOperation.class)) {
        ApiOperation apiOperation = method.getAnnotation(ApiOperation.class);
        webLog.setDescription(apiOperation.value());
    }
    long endTime = System.currentTimeMillis();
    String urlStr = request.getRequestURL().toString();
    webLog.setBasePath(StrUtil.removeSuffix(urlStr, URLUtil.url(urlStr).getPath()));
    webLog.setIp(request.getRemoteUser());
    webLog.setMethod(request.getMethod());
    webLog.setParameter(getParameter(method, joinPoint.getArgs()));
    webLog.setResult(result);
    webLog.setSpendTime((int) (endTime - startTime));
    webLog.setStartTime(startTime);
    webLog.setUri(request.getRequestURI());
    webLog.setUrl(request.getRequestURL().toString());
    LOGGER.info("{}", JSONUtil.parse(webLog));
    return result;
}
 
@Override
public WebRequest getObject() {
	ServletRequestAttributes requestAttr = currentRequestAttributes();
	return new ServletWebRequest(requestAttr.getRequest(), requestAttr.getResponse());
}
 
源代码18 项目: oauth2-server   文件: WebRequestLogAspect.java
/**
 * 接收到请求,记录请求内容
 *
 * @param joinPoint
 * @throws Throwable
 */
@Before("wsLog()")
public void doBefore(JoinPoint joinPoint) throws Throwable {
    if (log.isInfoEnabled()) {
        ServletRequestAttributes attributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes();
        if (attributes != null) {
            HttpServletRequest request = attributes.getRequest();
            Map<String, String[]> parameters = request.getParameterMap();
            try {
                String parametersString = null;
                String requestBody = null;
                if (parameters != null) {
                    parametersString = JsonUtil.multiValueMapToJsonString(parameters);
                }
                MethodSignature signature = (MethodSignature) joinPoint.getSignature();
                //获取被拦截的方法
                Method method = signature.getMethod();
                Object object = getAnnotatedParameterValueRequestBody(method, joinPoint.getArgs());
                if (object != null) {
                    requestBody = JsonUtil.objectToJsonString(object);
                }
                StringBuffer stringBuffer = new StringBuffer();
                stringBuffer.append("\nRequest from = ");
                stringBuffer.append(ClientIpUtil.getIpAddress(request));
                stringBuffer.append(";\n");
                stringBuffer.append("uri = ");
                stringBuffer.append(request.getRequestURL().toString());
                stringBuffer.append(";\n");
                stringBuffer.append("request method = ");
                stringBuffer.append(request.getMethod());
                stringBuffer.append(";\n");
                stringBuffer.append("content type = ");
                stringBuffer.append(request.getContentType());
                stringBuffer.append(";\n");
                stringBuffer.append("request parameters = ");
                stringBuffer.append(parametersString);
                stringBuffer.append(";\n");
                stringBuffer.append("request body = ");
                stringBuffer.append(requestBody);
                stringBuffer.append(";\n");

                log.info(stringBuffer.toString());
                String headers = JsonUtil.objectToJsonString(getHeadersInfo(request));
                log.info("headers:" + headers);
            } catch (Exception e) {
                log.info("log http request Exception: ", e);
            }
        }
    }
}
 
源代码19 项目: ChengFeng1.5   文件: LoggingAop.java
@AfterReturning(returning = "ret",pointcut = "chengfengLog()")
public void doAfterReturn(Object ret){
    ServletRequestAttributes attributes= (ServletRequestAttributes) RequestContextHolder.getRequestAttributes();
    HttpServletRequest request = attributes.getRequest();
    log.debug(request.getRequestURL().append(" 耗时: ").append(System.currentTimeMillis()-startTime.get()).toString());
}
 
/**
 * Create a template with the header of provided name and extracted extract
 * 1. 如果使用 非web 请求,header 区别
 * 2. 根据authentication 还原请求token
 * 3.查看是否有内部调用标志
 *
 * @param template
 */
@Override
public void apply(RequestTemplate template) {
    Collection<String> fromHeader = template.headers().get(FROM);
    if (CollUtil.isNotEmpty(fromHeader) && fromHeader.contains(FROM_IN)) {
        log.info("内部调用feign");
        String s = "?client_id=" + clientId + "&client_secret=" + clientSecret + "&grant_type=client_credentials&scope=all";
        String sr = HttpCallOtherInterfaceUtil.callOtherInterface(url, "/api/auth/oauth/token" + s);
        Map srmap = JSON.parseObject(sr);
        if (null == srmap) {
            log.info("内部调用feign传递失败");
            return;
        }
        String access_token = (String) srmap.get("access_token");
        if (StringUtils.isBlank(access_token)){
            access_token = (String) srmap.get("value");
        }
        log.info(access_token);
        template.header(AUTHORIZATION_HEADER, "Bearer " + access_token);
        return;
    }
    log.info("外部调用feign");
    ServletRequestAttributes attributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes();
    HttpServletRequest request = attributes.getRequest();
    if (request != null) {
        log.info("调用feign传递header携带token");
        //只携带token
        // String authorization = request.getHeader(AUTHORIZATION_HEADER);
        //requestTemplate.header("Authorization", authorization);
        // log.info("Authorization :\t\t" + authorization);
        //携带全部
        Enumeration<String> headerNames = request.getHeaderNames();
        if (headerNames != null) {
            while (headerNames.hasMoreElements()) {
                String name = headerNames.nextElement();
                String values = request.getHeader(name);
                template.header(name, values);
                log.info("name :\t\t" + name);
                log.info("values : \t\t" + values);
            }
        }
    }
}