SpringMVC拦截器快速入门和入门详解

news2024/9/24 17:16:02

1、SpringMVC如何快速实现Interceptor

2、第二步配置拦截器在SpringMVC.xml中进行配置

3、第三步测试拦截器效果,如果没有拦截器我可以直接访问到,如果有我不一定能访问到:

3.1

4、这里SpringMVC的配置文件我已经配好了 

5、弄一个方法和虚拟地址:

6、这里跳转到index页面,在我们的web中的index中

7、这里的运行流程是这样的,我们在访问show方法的时候:-----》先创建ModelandView------》ModelANDView设置数据---->View视图index-----》跳转到页面

 创建数据itcast

8、

 9、${name}取之前存的数据,就是在modelAndView里存的数据

10、访问一下路径,效果是这样

11、控制台数据运行

12、现在我们开始实现一个Interceptor,先创建一个

13、名字按照这个:

14、写完之后的第一件事,弄一个接口 Handler.... ,但是现在没有绕行的方法

15、写第一个方法:preHandle

16、第二个方法postHandler

17、写第三个方法 

18、第一个方法pre ,意思是在什么什么之前:这个方法是在目标方法执行前执行:谁啊,show方法,他没执行,他就执行了

19、第二个方法post,在目标方法执行之后

20、视图数据在,但是还没有接收过数据,有没有让页面接受到页面的数据

 

21、第三个是指视图对象都执行完毕后,再执行可以做一些收尾的工作

22、你的视图对象有没有进行返回,验证能执行:

23、这里写的项目还不能用,因为我们要把他弄一个项目配置:右键配置权限名:

24、找到我们springMVC.xml,配置fileter,什么知道包名,等

25、用一个MVC-inter

26、这里面可以配置很多interceptoer

27、这个bean需要什么,就是我刚才写的MyIntercepter的全限定包名 

就是告诉spring框架我的拦截器就是他:

28、MVC:.... 代表着对那些资源进行拦截操作:

28.1 /** 代表对所有的进行拦截操作:

29、为了好看我清空一下:

30、刚才页面有效果,但现在没有效果了

31、pro有一个布尔值,如果返回是false,那么后面两个方法就都不用执行了,因为截住了。

 

31.1

32 、如果返回true

33、其他方法都行了

34、以上就是我们入门的操作

34.1

--------------SpringMVC拦截器快速入门详解,第一个我们可以用一个request和reponse以及handler一些请求的命令,比如APP请求,我们可以封装到request当中, 我可以从内部当中进行获取

35.1 这里同时也代表着:你打开之后能不能返回

 35.2  使用reponse重定向,使用request转发:从而避开目标资源,转向其他资源        

36、抛出之外,还有ModelandView,要把模型进行操作之后,我在这里进行获取,获取之后相应的给他改掉

37、我们一般在控制器设置ModelAndView,第二个操作一般被称为后操作

38、第三个方法用来封装异常: Exception

39、用if逻辑判断,我怎么进行判断:使用request可以获取相应的参数

39.1、使用getParm..... 

这个参数叫parm:加个.var的写法

40、这个parm进行if判断:如果为yes,我就让他放行 

40.1 放行直接return true就行

 41、你可以不放行,但是你得给我跳到别的视图当中

41.1 用get.....

42、跳转到那个视图,这里我可以建一个视图

再建一个

 42.1 建一个jsp的文件:

errory页面 

43、dispatcher

 

43.1、这个逻辑干吗?给他抛出去

44、这个项目的逻辑是携带yes,就让你放行,然后让你通过:

44.1 能放行,最终就能够访问到他

 44.2  如果不是yes就不放行,就让你跳转到jsp页面

45、重新发布一下:

46、这里出了一个bug,正确的写法是yes,修改完重新发布

47效果:parm不带参数

 

47.1 带了yes参数,你就能访问到我们的资源,这是第一个方法常用的业务场景

48、使用ModelandView进行结果修改:

49、配置方面的知识:/XXX 意思是xxx后面的相关资源 

49.1

50、拦截器数量没有限制,可以设置多个:

 

50.1

51、设置多个要做的地方,写好类之后,给他配置一个:

52、给他写个放行:

52.1 然后给他配置一下,把他copy一下:

配置完给他发布一下就行

53、效果回车,然后看控制台:

54、看控制台,谁先执行的:

1的pro先执行,然后2的Pro再执行,然后。。。。。

 

 

55 xml的配置顺序和执行顺序有联系:

56、总结一下拦截器对应的方法

56.1 方法总共有三个,第一个是Pro

 

57 postHandler视图返回之前被调用:

58 开发步骤有三步:

 58.1 创建一个拦截器类,第二个配置我们拦截器,在springMVC.xml中进行相应的配置  ,配一个inte...,第三步就是对应的测试了

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/922228.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

记录一个诡异的bug

将对接oa跳转到会议转写的项目oa/meetingtranslate项目发布到天宫,结果跳转到successPage后报错 这一看就是successPage接口名没对上啊,查了一下代码,没问题啊。 小心起见,我就把successPage的方法请求方式从Post改为Get和POST都…

2023年京东婴童纸尿裤行业数据分析(京东数据运营)

当前,面对出生率下降、消费疲软等各种大环境不确定性,不仅是线下母婴店深陷于“生意难”的境地,线上消费同样受影响颇深,婴童纸尿裤类目便是如此。下面结合鲸参谋平台的数据,从行业大盘、品牌端等方面来看一下婴童纸尿…

博客摘录「 spring源码之scope」2023年8月2日

原型模式是每次调用都直接生成,bean是不入缓存的。

微服务中间件--多级缓存

多级缓存 多级缓存a.JVM进程缓存1) Caffeine2) 案例 b.Lua语法1) 变量和循环2) 条件控制、函数 c.多级缓存1) 安装OpenResty2) 请求参数处理3) 查询Tomcat4) Redis缓存预热5) 查询Redis缓存6) Nginx本地缓存 d.缓存同步1) 数据同步策略2) 安装Canal2.a) 开启MySQL主从2.b) 安装…

微服务 Nacos配置热部署

在nacos中添加配置文件 在配置列表中添加配置, 注意:项目的核心配置,需要热更新的配置才有放到nacos管理的必要。基本不会变更的一些配置还是保存在微服务本地比较好。 从微服务拉取配置 微服务要拉取nacos中管理的配置,并且与…

python多任务

​ 一、多任务 1.1 概念 多任务就是指:同一时间能执行多个任务。比方我们的电脑能一边QQ聊天,一边写论文,还能听歌。 1.2 多任务的优势: 多任务的最大好处是 充分利用CPU资源,提高程序的执行效率。 1.3 多任务的两种表…

SAP 创建维护视图

创建维护视图之前有几个坑,需要小心别踩到 1.不能直接创建维护视图,最好先创建表,然后点击实用程序——>表维护生成器 然后选择权限和函数组(函数组选择自己本身) 这里的第一个坑就是如果没有选择自己本身&#xf…

el-tree 默认选中第一个数据

/*** 初始化左侧树* param {*} GetDataLists*/SetTreeDatas() {let _this this;_this.$API.SysDictDataGetLeftdata().then((res) > {_this.treeData res.data.data; //给树赋值this.$nextTick(() > {this.$refs.treeList &&this.$refs.treeList.setCurrentKey…

集简云本周新增/更新:新增2大功能,集成2款应用,更新4款应用,新增近20个动作

本周更新概要 新增功能 新增功能:Claude2 新增功能:语聚AI对话助手对话背景设定 应用新增 新增应用:领星ERP 新增应用:slack(自建) 应用更新 更新应用:企业微信(代开发) 更新应用:阿里云效2020(新版…

Java“牵手”快手商品列表数据,关键词搜索快手商品数据接口,快手API申请指南

快手商城是一个网上批发购物平台,售卖各类商品,包括服装、鞋类、家居用品、美妆产品、电子产品等。要获取快手商品列表和商品详情页面数据,您可以通过开放平台的接口或者直接访问快手商城的网页来获取商品详情信息。以下是两种常用方法的介绍…

高达照进现实?可驾驶变形机器人问世,4 亿日元即刻“变身”

根据报道, ARCHAX是一款引人注目的机器人,它在机器人模式下可以模仿人类的活动,拥有高达4.5米的身高。在车辆模式下,ARCHAX可以以10公里每小时的速度行驶,重量约为3.5吨。 这款机器人由电池驱动,驾驶舱位于…

飞天使-k8s基础组件分析-持久化存储

文章目录 emptyDirhostpathpv和pvc介绍nfs作为静态pv案例nfs作为动态pv案例使用本地文件夹作为pv改变默认存储类及回收策略参考文档 emptyDir 重启文件还有,但是如果杀了进程,则会丢失文件 创建pod # kubectl apply –f redis.yaml校验pod是否处于运行&…

pyside6--核心版本的信号与槽的小示例

pyside6--核心版本的信号与槽的小示例 一、自定义的信号与槽的示例 1.1界面函数 还是使用上次的常用功能组件的界面,只是这次我 只使用按钮以及标签进行测试 1.2主函数核心代码 # 导入 t1gui_ui _ui from t1gui_ui import Ui_Form from PySide6.QtWidgets import …

Java8 Stream流 flatMap使用

参考链接 import cn.hutool.core.collection.ListUtil; import lombok.AllArgsConstructor; import lombok.Data;import java.util.ArrayList; import java.util.List; import java.util.stream.Collectors;public class FlatMapLearn {DataAllArgsConstructorpublic static c…

iOS开发之查看静态库(.a/.framework)中包含的.o文件和函数符号(ar,nm命令)

.a/.framework其实是把编译生成的.o文件,打包成一个.a/.framework文件。a的意思是archive/归档的意思。 查看静态库.a文件包含的内容用下面的命令解压: ar x xxx.a 用ar命令打包静态库: 参数r是将后面的*.o或者*.a文件添加到目标文件中 参数…

赴日工作SaaS/PaaS/IaaS到底有什么区别?

许多开始关注赴日IT的技术流的小伙伴,已经开始关注外网上的一些案件需求或者招聘需求了。那么你会发现很多需求当中都写着开发SaaS/PaaS/IaaS这些词汇,而且出现频率很高,那他们究竟代表什么意思呢? 先来说SaaS,Softwa…

此股必成大器!【海螺水泥】坚定看好-神奇指标网

8.22此股必成大器!【海螺水泥】坚定看好 操盘胜率极高的神奇指标系统已经给出了答案,苦等几日今天终于发出多头信号。 从7月底开始,神奇指标叠线重合并且股价站上叠线上,第二个交易日直接跳空高开,预示多头行情的开始。…

年薪100W的PM如何制定项目进度计划?

大家好,我是老原。 做了这么久的项目经理,也带过很多项目,无论是他人估算还是自己预测,都很少有按期完成的项目,要么提前,要么延后,按期完成的无非是熟门熟路十拿九稳,亦或是运气使…

KusionStack使用文档

下载安装 1. 安装 Kusionup 如果想自定义默认安装版本,可以运行下述命令(将最后的 openlatest 替换为你想要默认安装的版本号就就行): curl -s "http://kusion-public.oss-cn-hzfinance.aliyuncs.com/cli/kusionup/script…

spark中排查Premature EOF: no length prefix available

报错信息 /07/22 10:20:28 WARN DFSClient: Error Recovery for block BP-888461729-172.16.34.148-1397820377004:blk_15089246483_16183344527 in pipeline 172.16.34.64:50010, 172.16.34.223:50010: bad datanode 172.16.34.64:50010 [DataStreamer for file /bdp/data/u9…