当前位置: 首页 > news >正文

深圳大型商城网站建设seo百度推广

深圳大型商城网站建设,seo百度推广,高质量摄影作品网站,长治电商平台网站Gitee仓库 https://gitee.com/Lin_DH/system 介绍 拦截器:拦截器是 Spring 框架提供的核心功能之一,主要用来拦截用户请求,在指定方法前后,根据业务需要执行预先设定的代码。 拦截器允许开发人员提前预定义一些逻辑&#xff0c…

Gitee仓库

https://gitee.com/Lin_DH/system

介绍

拦截器:拦截器是 Spring 框架提供的核心功能之一,主要用来拦截用户请求,在指定方法前后,根据业务需要执行预先设定的代码。
拦截器允许开发人员提前预定义一些逻辑,在用户请求、响应前后执行。也可以在用户请求前阻止其执行。
在拦截器中,开发人员可以在应用程序中做一些通用性的操作,比如通过拦截器来拦截前端发送的请求,判断 Session 中是否有登录用户的信息,如果有则放行,没有则进行拦截。
在这里插入图片描述

使用步骤

1)定义拦截器
实现 HandlerInterceptor 接⼝,并重写其所有方法。

  • preHandle 方法:请求处理之前执行。返回 true,继续执行后续操作;返回 false,中断后续操作。
  • postHandle 方法:请求处理之后,且视图处渲染之前执行。
  • afterCompletion 方法:整个请求结束之后,视图渲染完毕后执行,最后执行。

2)注册配置拦截器
实现 WebMvcConfigurer 接口,并重写 addInterceptors 方法。

拦截器执行流程

在这里插入图片描述

代码实现

第一步:实现 HandlerInterceptor 接口,重写其所有方法。

LoginInterceptor.java

package com.lm.system.interceptor;import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component;
import org.springframework.web.servlet.HandlerInterceptor;
import org.springframework.web.servlet.ModelAndView;import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;/*** @author DUHAOLIN* @date 2024/11/12*/
@Slf4j
@Component
public class LoginInterceptor implements HandlerInterceptor {@Overridepublic boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {log.info("校验用户登录信息");return true;}@Overridepublic void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception {log.info("返回用户信息");}@Overridepublic void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception {log.info("视图渲染完毕后执⾏,最后执行");}}

第二步:实现 WebMvcConfigurer 接口,并重写 addInterceptors 方法。

WebConfig.java

package com.lm.system.config;import com.lm.system.interceptor.LoginInterceptor;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;import javax.annotation.Resource;/*** @author DUHAOLIN* @date 2024/11/12*/
@Configuration
public class WebConfig implements WebMvcConfigurer {//自定义拦截器对象@Resourceprivate LoginInterceptor loginInterceptor;@Overridepublic void addInterceptors(InterceptorRegistry registry) {//注册自定义拦截器对象registry.addInterceptor(loginInterceptor)//排除某些路径//.excludePathPatterns("/login", "/error")//设置拦截器拦截的请求路径(/** 表示拦截所有请求).addPathPatterns("/**");}
}

效果图

访问 Controller,发送请求。

控制台输出日志

2024-11-12 16:46:43  INFO 7740  org.apache.juli.logging.DirectJDKLog.log(DirectJDKLog.java:173) : Initializing Spring DispatcherServlet 'dispatcherServlet'
2024-11-12 16:46:43  INFO 7740  org.springframework.web.servlet.FrameworkServlet.initServletBean(FrameworkServlet.java:525) : Initializing Servlet 'dispatcherServlet'
2024-11-12 16:46:43  INFO 7740  org.springframework.web.servlet.FrameworkServlet.initServletBean(FrameworkServlet.java:547) : Completed initialization in 2 ms
2024-11-12 16:46:43  INFO 7740  com.lm.system.interceptor.LoginInterceptor.preHandle(LoginInterceptor.java:21) : 校验用户登录信息Creating a new SqlSession
SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@1a68bd5d] was not registered for synchronization because synchronization is not active
JDBC Connection [HikariProxyConnection@1883892764 wrapping com.mysql.cj.jdbc.ConnectionImpl@1d1b0673] will not be managed by Spring
==>  Preparing: SELECT id, `name`, age, gender, deleted, create_time, update_time FROM t_user WHERE deleted = 0
==> Parameters: 
<==    Columns: id, name, age, gender, deleted, create_time, update_time
<==        Row: 1, Tom, 18,, 0, 2024-08-21 16:47:45, 2024-08-21 16:47:45
<==        Row: 2, Joe, 20,, 0, 2024-08-21 16:47:58, 2024-08-21 16:47:58
<==        Row: 3, Jim, 33,, 0, 2024-08-21 16:48:12, 2024-08-21 16:48:12
<==      Total: 3
Closing non transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@1a68bd5d]
2024-11-12 16:46:43  INFO 7740  com.lm.system.common.ResultBody.getReturn(ResultBody.java:102) : {"status": 200,"msg": null,"count": 3,"data": [{"id": 1,"name": "Tom","age": 18,"gender": "男","create_time": "2024-08-21 16:47:45","update_time": "2024-08-21 16:47:45"},{"id": 2,"name": "Joe","age": 20,"gender": "女","create_time": "2024-08-21 16:47:58","update_time": "2024-08-21 16:47:58"},{"id": 3,"name": "Jim","age": 33,"gender": "女","create_time": "2024-08-21 16:48:12","update_time": "2024-08-21 16:48:12"}]
}2024-11-12 16:46:43  INFO 7740  com.lm.system.interceptor.LoginInterceptor.postHandle(LoginInterceptor.java:27) : 返回用户信息2024-11-12 16:46:43  INFO 7740  com.lm.system.interceptor.LoginInterceptor.afterCompletion(LoginInterceptor.java:32) : 视图渲染完毕后执⾏,最后执行

项目结构图

在这里插入图片描述

参考链接

Spring Boot实战:拦截器【https://blog.csdn.net/LHY537200/article/details/140947681】

http://www.mmbaike.com/news/110214.html

相关文章:

  • 做网站应聘平台郑州百度推广外包
  • 设计师培训生招聘长沙做优化的公司
  • 我想做网站卖衣服做百度指数网页版
  • 秦淮网站建设用html制作淘宝网页
  • 辽源网站建设seo公司发展前景
  • 哪里有做家教网站的短期培训班学什么好
  • appui界面设计seo网站关键词优化
  • 百度商桥置入网站网络营销的含义
  • 用jsp做网站登录界面模板线下营销推广方式有哪些
  • 淘宝客网站主题模板怎么做百度推广运营
  • 珠海网站建设小程序长春网站排名提升
  • 如何在网站插做视频百度热搜关键词排行榜
  • 自学做网站长春网站优化流程
  • 苏州网站建设店铺装修英文外链seo兼职
  • 秦皇岛网站关键词推广关键词组合工具
  • 淄博桓台网站建设公司网站运营课程
  • 行业网站搭建搞一个公司网站得多少钱
  • 网站域名可以更换吗关键词林俊杰歌词
  • 上海市建设安全协会网站百度sem运营
  • 做动画人设有哪些网站可以借鉴情感营销的十大案例
  • 网站设计方案书什么是seo和sem
  • 网站科技动效网络搜索关键词
  • 沧州网站推广哪些网站可以发广告
  • wordpress 评论点击验证天津网络推广seo
  • 十大设计网站免费开网店免费供货
  • wordpress+主题+恢复太原seo优化公司
  • 深圳福田有什么好玩的地方黑帽seo排名优化
  • 08影院wordpress影视主题源码青岛seo用户体验
  • 开办网络公司整站seo外包
  • 公司网站建设完成通知网站平台推广