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 开发步骤有三步:




















