Java拦截器步骤

Java拦截器步骤拦截器是JavaWeb开发中必须用的技术,可以对整个系统字符集编码、URL访问权限过滤、过滤敏感词信息、session用户是否存在、日志记录等等,拦截器支队controller请求起作用,接下来小编讲解下spring框架中拦截器如何使用工具/原料myeclipsespring框架方法/步骤

大家好,又见面了,我是你们的朋友全栈君。

拦截器是JavaWeb开发中必须用的技术,可以对整个系统字符集编码、URL访问权限过滤、过滤敏感词信息、session用户是否存在、日志记录等等,拦截器支队controller请求起作用,接下来小编讲解下spring框架中拦截器如何使用

java中拦截器的使用

工具/原料


  • myeclipse
  • spring框架

方法/步骤


  1. 首先需要创建Spring Mcv拦截器Interceptor实现类,实现非常简单,主要有两种方式:

    第一种方式是要定义的Interceptor类要实现了Spring 的HandlerInterceptor 接口,或者是这个类继承实现了HandlerInterceptor 接口的类,比如Spring 已经提供的实现了HandlerInterceptor 接口的抽象类HandlerInterceptorAdapter ;

    第二种方式是实现Spring的WebRequestInterceptor接口,或者是继承实现了WebRequestInterceptor的类

    这里我们实现抽象类:HandlerInterceptorAdapter 

    java中拦截器的使用

  2.  在拦截器中中有三个方法 :

              preHandler :在进入Handler方法之前执行了,使用于身份认证,身份授权,登陆校验等,比如身份认证,用户没有登陆,拦截不再向下执行,返回值为 false ,即可实现拦截;否则,返回true时,拦截不进行执行;

              postHandler : 进入Handler方法之后,返回ModelAndView之前执行,使用场景从ModelAndView参数出发,比如,将公用的模型数据在这里传入到视图,也可以统一指定显示的视图等;

             afterHandler : 在执行Handler完成后执行此方法,使用于统一的异常处理,统一的日志处理等;

    java中拦截器的使用

  3. 3

    把定义好的拦截器类加入到spring mvc框架体系中,在spring mvc配置文件中加入相关配置标签

    java中拦截器的使用

  4. 4

    场景描述:在用户访问系统时,先进行拦截操作,先验证下用户是否有权限登陆,如果有继续访问通过,没有就不同

    java中拦截器的使用

  5. 5

    controller层中的实现类,注意方法上要加上注解:@RequestMapping(“/Login”) 

    java中拦截器的使用

  6. 6

    拦截器实现类:场景:用户点击查看的时候,我们进行登陆拦截器操作,判断用户是否登陆? * 登陆,则不拦截,没登陆,则转到登陆界面

    java中拦截器的使用

    END
  7. 创建完拦截器实现类,一定能要在配置文件进行配置

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/140021.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • WaitForSingleObject_调用wait方法时,线程会放弃对象锁

    WaitForSingleObject_调用wait方法时,线程会放弃对象锁摘要在MicrosoftWindows平台上有几种以原子方式锁定代码和数据的不同方法。此白皮书的主要目的是向开发人员简要介绍Windows中进行锁定的不同方法以及与这些锁定有关的相应性能开销。因为未来架构将是多核架构,因此此信息非常适用。简介多线程软件应用对于提升英特尔内核架构的性能至关重要。锁定代码通常是多线程应用中运行最频繁的代码。确定要使用的锁定方法与确定应用中并行处理

    2022年9月20日
    0
  • thinphp 安装 系统不支持curl!

    thinphp 安装 系统不支持curl!找到php.ini配置文件找到:修改前;extension=php_curl.dll修改后extension=php_curl.dll  //只是去掉前面的”;’分号php_curl.dll存在于php安装包的\ext文件夹下面,如果实在没有,自己去网上下载一个php_curl.dll放到:….\php\ext目录下注意:保存之后,重启一次服务器(

    2022年7月27日
    1
  • notepad++编译C++

    notepad++编译C++

    2021年8月18日
    50
  • vue查看版本号「建议收藏」

    vue查看版本号「建议收藏」vue-V或者是vue–version查询的是vue-cli的版本,也就是vue脚手架的版本,如果想要查看vue的版本,直接去项目中,找到package.json文件夹找”dependencies”然后就可以看到你装的vue的版本了”dependencies”:{“axios”:”^0.21.1″,”core-js”:”^3.6.5″,”element-ui”:”^2.14.1″,”vue”:”^2.6.11″,”vue-resource”:”^

    2022年5月29日
    301
  • redis分布式锁原理面试(数据库索引用的什么数据结构)

    业务背景:后台定时任务刷新Redis的数据到数据库中,有多台机器开启了此定时同步的任务,但是需要其中一台工作,其他的作为备用,提高可用性。使用Redis分布式锁进行限制,拿到锁的机器去执行具体业务,拿不到锁的继续轮询。分布式锁原理分布式锁:当多个进程不在同一个系统中,多个进程共同竞争同一个资源,用分布式锁控制多个进程对资源的互斥访问。采用Redis服务器存储锁信息(即SET一个Key表示已加锁),可以实现多进程的并发读锁的状态,如果没有锁,则只允许一个进程加锁。Redis分布式锁实现的关键点:

    2022年4月15日
    75
  • GridData

    GridDataGridLayout//容器下面元素的列数,makeColumnsEqualWidth是否相同大小单元格publicGridLayout(intnumColumns,booleanmakeColumnsEqualWidth);GridData类可以与GridLayout类配合使用,其中构造函数有:[code="java"]publicGridData();…

    2022年5月9日
    78

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号