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

没有公司做网站互联网产品运营

没有公司做网站,互联网产品运营,市政道路毕业设计代做网站,怎么做p2p的网站目录 一、拦截器1.1 使用1.1 定义拦截器1.2 注册配置拦截器 1.2 拦截器详解1.2.1 拦截路径1.2.2 拦截器执⾏流程 1.3 适配器模式 二、统一数据返回格式 一、拦截器 拦截器:拦截器是Spring框架提供的核⼼功能之⼀,主要⽤来拦截⽤⼾的请求,在指…

目录

  • 一、拦截器
    • 1.1 使用
      • 1.1 定义拦截器
      • 1.2 注册配置拦截器
    • 1.2 拦截器详解
      • 1.2.1 拦截路径
      • 1.2.2 拦截器执⾏流程
    • 1.3 适配器模式
  • 二、统一数据返回格式

一、拦截器

拦截器:拦截器是Spring框架提供的核⼼功能之⼀,主要⽤来拦截⽤⼾的请求,在指定⽅法前后,根据业务需要执
⾏预先设定的代码。

1.1 使用

拦截器的使用步骤有两步:

  1. 定义拦截器
  2. 注册配置拦截器

1.1 定义拦截器

⾃定义拦截器:需要实现HandlerInterceptor接⼝,并重写其所有⽅法。

  • preHandle()⽅法:⽬标⽅法执⾏前执⾏. 返回true:继续执⾏后续操作;返回false:中断后续操作。
  • postHandle()⽅法:⽬标⽅法执⾏后执⾏
  • afterCompletion()⽅法:视图渲染完毕后执⾏,最后执⾏(前后端分离后,后端开发现在⼏乎不涉及视图)
package com.example.library.interceptor;import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component;
import org.springframework.web.servlet.HandlerInterceptor;
import org.springframework.web.servlet.ModelAndView;@Slf4j
@Component
public class LoginInterceptor implements HandlerInterceptor {@Overridepublic boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {log.info("目标方法执行前 preHandle····");return true;}@Overridepublic void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception {log.info("目标方法执行后 postHandle····");}@Overridepublic void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception {log.info("渲染后 afterHandle····");}
}

1.2 注册配置拦截器

实现WebMvcConfigurer接⼝,并重写addInterceptors⽅法

package com.example.library.config;import com.example.library.interceptor.LoginInterceptor;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;@Configuration
public class WebConfig implements WebMvcConfigurer {@Autowiredprivate LoginInterceptor loginInterceptor;@Overridepublic void addInterceptors(InterceptorRegistry registry) {registry.addInterceptor(loginInterceptor).addPathPatterns("/**");}
}

1.2 拦截器详解

1.2.1 拦截路径

在注册配置拦截器的时候,可以使用InterceptorRegistry类下的addPathPatterns方法添加需要拦截的路径,使用excludePathPatterns方法添加不需要拦截的路径。
那么路径的格式就如下表:

拦截路径含义举例
/*⼀级路径能匹配 /book 不能匹配/book/bookList
/**任意级路径能匹配 /book ,/book/bookList····
/book/*book路径下的一级路径能匹配/book/bookList,不能匹配/book/bookList/books
/book/**/book下的任意级路径能匹配/book/bookList,/book/bookList/books

1.2.2 拦截器执⾏流程

执行流程就是,在我们拦截器中拦截的路径的controller层执行前,先调用preHandle方法,在执行完controller层后调用afterHandle方法

1.3 适配器模式

适配器模式:相当于插头转换器,将⼀个类的接⼝,转换成客⼾期望的另⼀个接⼝,把两个不兼容的接⼝通过⼀定的⽅式使之兼容。

适配器模式可以看作⼀种"补偿模式",⽤来补救设计上的缺陷.应⽤这种模式算是"⽆奈之举",如果在设计初期,我们就能协调规避接⼝不兼容的问题,就不需要使⽤适配器模式了。

适配器模式⻆⾊

  • Target:⽬标接⼝(可以是抽象类或接⼝),客⼾希望直接⽤的接⼝。
  • Adaptee:适配者,但是与Target不兼容。
  • Adapter:适配器类,此模式的核⼼。通过继承或者引⽤适配者的对象,把适配者转为⽬标接⼝。
  • client:需要使⽤适配器的对象。

例子:

/*** slf4j接⼝ */
public interface slf4jApi {void log(String log);
}/*** log4j 接⼝ */
public class Log4jApi {public void print(String p) {System.out.println("Log4jApi"+p);}
}/*** slf4j和log4j适配器 */
public class Slf4jLog4JAdapter implements slf4jApi {private Log4jApi log4jApi;public Slf4jLog4JAdapter(Log4jApi log4jApi) {this.log4jApi = log4jApi;}@Overridepublic void log(String log) {System.out.println("slf4jApi"+log);}
}/*** 客⼾端调⽤ */
public class Slf4jClient {public static void main(String[] args) {slf4jApi slf4jApi = new Slf4jLog4JAdapter(new Log4jApi());slf4jApi.log("slf4jApi日志");}
}

上面的例子下,我们不需要改变log4j的api,只需要通过适配器转换下,就可以更换⽇志框架,使用slf4j,保障系统的平稳运⾏。

二、统一数据返回格式

http://www.dtcms.com/wzjs/473205.html

相关文章:

  • 怎么给网站做关键词搜索微信营销推广
  • 开一家代做网站的公司百度推广上班怎么样
  • 织梦多语言网站百度的seo关键词优化怎么弄
  • 南昌集团网站建设公司温州云优化seo
  • 微信公众号做微网站吗上海网络关键词优化
  • 药品网站网络营销推广怎么做网店代运营公司靠谱吗
  • 网站域名是什么意思郑州靠谱seo整站优化
  • 甘肃省住房和城乡建设部网站怎么做网站卖产品
  • 平台b2c网站网络推广中心
  • 交易类网站seo怎么做关键词优化seo优化排名
  • 贪玩传奇手游官方网站爆款引流推广软件
  • 软件开发文档的作用广东seo加盟
  • 云梦建站站长工具seo综合查询推广
  • 柳州高端网站建设怎么制作属于自己的网址
  • 建设政府网站的流程亚洲长尾关键词挖掘
  • 网站改版 影响google 404跳首页我想在百度上发布广告怎么发
  • 电子商务网站建设目的和意义百度推广外包
  • 南昌专业做网站的长沙seo服务
  • 綦江集团网站建设seo如何优化关键词上首页
  • 电子商务网站建设与管理答案百度推广一个月多少钱
  • 香包怎么做制作方法广东企业网站seo哪里好
  • 青岛网站建设市场自动点击器怎么用
  • 什么做网站做个网站一般要多少钱啊一般的电脑培训班要多少钱
  • 下载整个网站的软件南宁百度seo排名优化软件
  • 织梦网站后台logo删除推广软件排行榜前十名
  • 直接拖拉做网站的软件建站模板哪个好
  • 典当行网站源码网络推广与营销
  • 源代码开发网站站长工具精品
  • 下载wordpress 5.2.1seo营销优化
  • 深圳网站的建设维护公司免费建立自己的网站