SpringMVC拦截器

发布时间:2024年01月08日



在这里插入图片描述

SpringMVC拦截器是Spring框架提供的一种机制,用于拦截HTTP请求和响应。它可以让开发者在请求处理前或后执行一些额外的操作,比如日志记录、权限验证、跨域处理等。

拦截器的主要用途包括:
权限控制:拦截器可以在请求到达Controller之前进行权限验证,以确保用户有权访问相应的资源。
日志记录:拦截器可以记录请求的相关信息,如请求路径、参数等,方便后续的跟踪和排查问题。
跨域处理:可以使用拦截器来处理跨域请求,添加必要的响应头信息。
全局异常处理:拦截器可以捕获异常并根据需要进行处理,比如返回统一的错误信息。

通过拦截器,我们可以在请求处理的不同阶段加入自己的逻辑,实现更灵活的业务需求和统一的处理逻辑。

1、拦截器的配置

SpringMVC中的拦截器用于拦截控制器方法的执行
SpringMVC中的拦截器需要实现HandlerInterceptor
SpringMVC的拦截器必须在SpringMVC的配置文件中进行配置:

<bean class="com.atguigu.interceptor.FirstInterceptor"></bean>
<ref bean="firstInterceptor"></ref>
<!-- 以上两种配置方式都是对DispatcherServlet所处理的所有的请求进行拦截 -->
<mvc:interceptor>
    <mvc:mapping path="/**"/>
    <mvc:exclude-mapping path="/testRequestEntity"/>
    <ref bean="firstInterceptor"></ref>
</mvc:interceptor>
<!-- 
	以上配置方式可以通过ref或bean标签设置拦截器,通过mvc:mapping设置需要拦截的请求,通过mvc:exclude-mapping设置需要排除的请求,即不需要拦截的请求
-->

2、拦截器的三个抽象方法

SpringMVC中的拦截器有三个抽象方法:
preHandle:控制器方法执行之前执行preHandle(),其boolean类型的返回值表示是否拦截或放行,返回true为放行,即调用控制器方法;返回false表示拦截,即不调用控制器方法
postHandle:控制器方法执行之后执行postHandle()
afterComplation:处理完视图和模型数据,渲染视图完毕之后执行afterComplation()

3、多个拦截器的执行顺序

a>若每个拦截器的preHandle()都返回true
此时多个拦截器的执行顺序和拦截器在SpringMVC的配置文件的配置顺序有关:
preHandle()会按照配置的顺序执行,而postHandle()和afterComplation()会按照配置的反序执行
b>若某个拦截器的preHandle()返回了false
preHandle()返回false和它之前的拦截器的preHandle()都会执行,postHandle()都不执行,返回false的拦截器之前的拦截器的afterComplation()会执行

4. 书籍推荐《实战AI大模型 李开复 周鸿祎 颜水成 推荐 ChatGPT GPT-4 AIGC》


实战AI大模型 李开复 周鸿祎 颜水成 推荐 ChatGPT GPT-4 AIGC

《实战AI大模型》详细介绍了从基本概念到实践技巧的诸多内容,全方位解读AI大模型,循序渐进、由浅入深。书中配有二维码视频,使读者身临其境,迅速、深入地掌握各种经验和技巧。本书还附带了丰富的额外资源:开源工具和库、数据集和模型案例研究和实际应用、在线交流社区等。读者可以综合利用这些资源,获得更丰富的学习体验,加速自己的学习和成长。

人工智能领域资深专家尤洋老师倾力打造,获得了李开复、周鸿祎、颜水成三位大咖鼎力推荐,一经上市就登上了京东“计算机与互联网”图书排行榜Top1的宝座。

请添加图片描述

购买链接 https://item.jd.com/14281522.html

简介

《实战AI大模型》是一本旨在填补人工智能(AI)领域(特别是AI大模型)理论与实践之间鸿沟的实用手册。书中介绍了AI大模型的基础知识和关键技术,如Transformer、BERT、ALBERT、T5、GPT系列、InstructGPT、ChatGPT、GPT 4、PaLM和视觉模型等,并详细解释了这些模型的技术原理、实际应用以及高性能计算(HPC)技术的使用,如并行计算和内存优化。
同时,《实战AI大模型》还提供了实践案例,详细介绍了如何使用Colossal AI训练各种模型。无论是人工智能初学者还是经验丰富的实践者,都能从本书学到实用的知识和技能,从而在迅速发展的AI领域中找到适合自己的方向。

目录

第1章 深度学习中的AI大模型
1.1 AI大模型在人工智能领域的兴起
1.1.1 AI大模型的发展与挑战
1.1.2 AI大模型为何难以训练
1.2 深度学习框架入门
1.2.1 搭建神经网络
1.2.2 训练一个文本分类器 第2章 分布式系统:AI大模型的诞生之所
2.1 深度学习与分布式系统
2.1.1 从分布式计算到分布式AI系统
2.1.2 大规模分布式训练平台的关键技术
2.1.3 Colossal AI应用实践
2.2 AI大模型训练方法
2.2.1 梯度累积和梯度裁剪
2.2.2 大批量优化器LARSLAMB
2.2.3 模型精度与混合精度训练
2.3 异构训练
2.3.1 异构训练的基本原理
2.3.2 异构训练的实现策略
2.4 实战分布式训练
2.4.1 Colossal AI环境搭建
2.4.2 使用Colossal AI训练第一个模型
2.4.3 AI大模型的异构训练 第3章 分布式训练:上千台机器如何共同起舞
3.1 并行策略基础原理
3.1.1 数据并行:最基本的并行训练范式
3.1.2 张量并行:层内模型并行
3.1.3 流水线并行的原理与实现
3.2 高级并行策略基础原理
3.2.1 序列并行:超长序列模型训练
3.2.2 混合并行:扩展模型到千亿参数
3.2.3 自动并行:自动化的分布式并行训练
3.3 实战分布式训练
3.3.1 应用模型并行策略的实际案例
3.3.2 结合多种并行策略的训练实践 第4章 AI大模型时代的奠基石Transformer模型
4.1 自然语言处理基础
4.1.1 自然语言任务介绍
4.1.2 语言输入的预处理
4.1.3 序列到序列模型
4.2 Transformer详解
4.2.1 Transformer模型结构
4.2.2 注意力与自注意力机制
4.2.3 Transformer中的归一化
4.3 Transformer的变体与扩展
4.3.1 变体模型汇总
4.3.2 Transformer序列位置信息的编码处理
4.3.3 Transformer训练 第5章 AI大幅度提升Google搜索质量:BERT模型
5.1 BERT模型详解
5.1.1 BERT模型总体架构与输入形式
5.1.2 BERT模型预训练任务
5.1.3 BERT模型的应用方法
5.2 高效降低内存使用的ALBERT模型
5.2.1 基于参数共享的参数缩减方法
5.2.2 句子顺序预测(SOP)预训练任务
5.3 BERT模型实战训练
5.3.1 构建BERT模型
5.3.2 并行训练BERT模型 第6章 统一自然语言处理范式的T5模型
6.1 T5模型详解
6.1.1 T5模型架构和输入输出——文本到文本
6.1.2 T5模型预训练
6.1.3 T5模型应用前景及未来发展
6.2 统一BERT和GPT的BART模型
6.2.1 从BERT、GPT到BART
6.2.2 BART模型预训练
6.2.3 BART模型的应用
6.3 统一语言学习范式的UL2框架
6.3.1 关于语言模型预训练的统一视角
6.3.2 结合不同预训练范式的混合去噪器
6.3.3 UL2的模型性能
6.4 T5模型预训练方法和关键技术 第7章 作为通用人工智能起点的GPT系列模型
7.1 GPT系列模型的起源
7.1.1 GPT的训练方法和关键技术
7.1.2 GPT的模型性能评估分析
7.2 GPT 2模型详解
7.2.1 GPT 2的核心思想
7.2.2 GPT 2的模型性能
7.3 GPT 3模型详解
7.3.1 小样本学习、一次学习与零次学习的异同
7.3.2 GPT 3的训练方法和关键技术
7.3.3 GPT 3的模型性能与效果评估
7.4 GPT 3模型构建与训练实战
7.4.1 构建GPT 3模型
7.4.2 使用异构训练降低GPT 3训练消耗资源 第8章 兴起新一代人工智能浪潮:ChatGPT模型
8.1 能与互联网交互的WebGPT
8.1.1 WebGPT的训练方法和关键技术
8.1.2 WebGPT的模型性能评估分析
8.2 能与人类交互的InstructGPT模型
8.2.1 指令学习
8.2.2 近端策略优化
8.2.3 基于人类反馈的强化学习(RLHF)方法汇总
8.3 ChatGPT和GPT4
8.3.1 ChatGPT模型简介和应用
8.3.2 GPT 4模型特点与应用
8.4 构建会话系统模型
8.4.1 基于监督的指令精调与模型训练
8.4.2 会话系统的推理与部署策略 第9章 百花齐放的自然语言模型:Switch Transfomer和PaLM
9.1 万亿参数稀疏大模型Switch Transformer
9.1.1 稀疏门控混合专家模型MoE
9.1.2 基于MoE的万亿参数模型Switch Transformer
9.2 PaLM模型:优化语言模型性能
9.2.1 PaLM模型的结构、原理和关键特点
9.2.2 PaLM训练策略与效果评估
9.3 PaLM实战训练 第10章 实现Transformer向计算机视觉进军的ViT模型
10.1 Transformer在计算机视觉中的应用
10.1.1 ViT模型在计算机视觉中的发展背景
10.1.2 ViT模型的架构、原理和关键要素
10.1.3 大规模ViT模型的应用场景和挑战
10.2 视觉大模型的进一步发展:Transformer与卷积的融合
10.2.1 基于Transformer的视觉模型的改进应用
10.2.2 基于卷积的视觉模型的发展优化
10.3 ViT模型构建与训练实战
10.3.1 构建ViT模型的关键步骤与关键方法
10.3.2 多维张量并行的ViT的实战演练



在这里插入图片描述



文章来源:https://blog.csdn.net/m0_60915009/article/details/135450108
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。