Spring MVC拦截器3:拦截器案例:开发【获取“用户流量信息”的拦截器】;(logback日志组件:把日志存储到日志文件中;)

说明: 

(1)本篇博客合理性解释:

          ● 在【Spring MVC拦截器1:拦截器入门一】和【Spring MVC拦截器2:拦截器入门二】两篇博客介绍了拦截器的基本使用;那么,本篇博客就通过一个案例,演示下在项目中如何使用拦截器;

          ● 文章逻辑:当用户发送请求,访问我们的系统时 → 请求中包含很多信息 → 我们可以收集这些基础信息,以供利用 → 为此,拦截器就派上用场了 → 我们可以利用拦截器拦截用户请求,从而获取请求中的基础信息 → 然后,我们也可以把这些信息存储到具体日志文件中 → 为此,就引出了利用logback存储日志了;

(2)本篇博客的代码沿用自 【Spring MVC拦截器2:拦截器入门二】的【interceptor工程】;

(3)本篇博客内容:

          ● 使用拦截器来采集用户基础数据;

          ● 也涉及到了【使用logback日志组件,把日志数据存储到日志文件中】

目录

一: 用户流量信息简述;

二:预先准备:先创建一个【拦截用户请求,以获取流量信息】的拦截器类:AccessHistoryInterceptor类; 

1.创建拦截器类:AccessHistoryInterceptor类;

三:引入logback日志组件; 

1.在pom.xml中引入logback依赖;

2.创建并编写logback.xml配置文件:【定义输出器】;【把输出器作用到AccessHistoryInterceptor这个类上】;

(1)创建logback.xml文件,并通过基本配置,看下是否OK;

(2)在logback.xml配置,把日志信息存储到本地日志文件中;(核心重点!!!)

四: AccessHistoryInterceptor拦截器类:【获取用户请求信息】,【将这些信息,存储到日志中去】;(核心重点!!!)

五:在applicationContext.xml中,配置AccessHistoryInterceptor这个拦截器;

六:最后,启动Tomcat,测试;


一: 用户流量信息简述;

(1)用户流量信息:用户在访问我们的系统时,用户请求中包含如访问时间、访问网址(url)、使用的什么浏览器、使用的什么系统、使用的什么手机、用户IP等信息;

(2)这些用户流量信息是比较重要的:比如电商网站:● 我们根据访问网址(url),就能看出什么商品是最受欢迎的;● 根据访问时间,就能推断出用户是夜猫子还是白天访问;(由此,针对不同的时间段,我们是否可以推荐不同的商品);● 根据发送的请求中附带的用户环境信息,知道当前用户是使用PC机访问的还是使用手机访问的;用到手机是iOS还是Android;

(3)在用户访问应用时,这些用户流量信息,我们可以通过拦截器来收集;

(4)即,本篇博客主要内容是:如何使用拦截器来采集用户基础数据;同时,在其中也会介绍如何使用logback日志组件来存储日志数据;


二:预先准备:先创建一个【拦截用户请求,以获取流量信息】的拦截器类:AccessHistoryInterceptor类; 

1.创建拦截器类:AccessHistoryInterceptor类;

初始准备,我们创建AccessHistoryInterceptor拦截器类,来完成采集用户基础数据的工作;

AccessHistoryInterceptor:

package com.imooc.restful.interceptor;

import org.springframework.web.servlet.HandlerInterceptor;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

/**
 * 访问历史拦截器;所有的请求都会被这个拦截器拦截,在请求被处理之前,把请求的相关信息记录到日志文件中;
 */
public class AccessHistoryInterceptor implements HandlerInterceptor {
    public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
        return true;
    }
}

说明:

(1)因为AccessHistoryInterceptor拦截器类的主要目的是:拦截用户请求,获取其中的基础信息;所以,这个方法只实现类preHandle()方法;


三:引入logback日志组件; 

前面介绍过logback日志组件:如有需要可以依次参考;

         ●【MyBatis进阶一:slf4j日志门面和logback日志组件;(在MyBatis中的使用logback)(本篇博客仅仅是在控制台输出日志信息,不涉及把日志信息存储到日志文件)】:第一次引入SLF4日志门面、logback日志实现;(也知道了Mybatis框架中,可以很好的使用logback日志组件)

         ●【【logger.error()】介绍;(只是将日志打印在Console控制台)】:介绍了logger.error()方法的几种重构形式;

         ●【

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值