java拦截器_Java拦截器[通俗易懂]

java拦截器_Java拦截器[通俗易懂]拦截器,主要用于拦截前端请求,常用于登录检查。下面是演示使用拦截器拦截未登录的用户访问需要登录的模块情景,使用配置方式实现和注解方式实现代码:配置方式:1、web.xml中配置监听器,对于所有的/admin开头的请求,都走com.blog.interceptor.LoginInterceptor这个拦截器。2、再看com.blog.interceptor.LoginInterceptor的实现代码…

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

拦截器,主要用于拦截前端请求,常用于登录检查。

下面是演示使用拦截器拦截未登录的用户访问需要登录的模块情景,使用配置方式实现和注解方式实现代码:

配置方式:

1、web.xml中配置监听器,对于所有的/admin开头的请求,都走com.blog.interceptor.LoginInterceptor这个拦截器。

2、再看com.blog.interceptor.LoginInterceptor的实现代码:

public class LoginInterceptor implements HandlerInterceptor {

@Override

public boolean preHandle(HttpServletRequest arg0, HttpServletResponse arg1, Object arg2) throws Exception {

SysUser currentUser = SessionHelper.getCurrentUser(arg0);

if (currentUser == null) {

// 拦截,重定向到登陆页面

// 需要加上当前请求路径

arg1.sendRedirect(arg0.getContextPath() + “/Login/loginpage.do”);

return false;

}

return true;

}

@Override

public void postHandle(HttpServletRequest arg0, HttpServletResponse arg1, Object arg2, ModelAndView arg3)

throws Exception {

// TODO Auto-generated method stub

}

@Override

public void afterCompletion(HttpServletRequest arg0, HttpServletResponse arg1, Object arg2, Exception arg3)

throws Exception {

// TODO Auto-generated method stub

}

}

对于客户端的每次登录,都先记录登录用户的用户名信息,对于每次请求,获取session中的用户信息,如果用户信息为空,则认为该用户未登录,则跳转到登录页面。

注解方式:

拦截类是一样的,只需要增加配置类。

//页面配置类,不再使用xml配置需要拦截打请求

@Configuration

public class WebMvcConfg extends WebMvcConfigurationSupport {

@Autowired

private LoginInterceptor loginInterceptor;// 需要使用的拦截器,对于所有admin开头的请求都需要进行登录拦截

// 拦截器链

@Override

public void addInterceptors(InterceptorRegistry registry) {

// addPathPatterns 用于添加拦截规则

// excludePathPatterns 用于排除拦截

registry.addInterceptor(loginInterceptor).addPathPatterns(“/admin/**”)

.excludePathPatterns(“/admin/**/exportUser”,”/admin/**/exportAllUser”);

}

// 处理静态资源

@Override

public void addResourceHandlers(ResourceHandlerRegistry registry) {

}

}

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

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

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


相关推荐

  • 手机如何传输高清视频

    手机如何传输高清视频 为了应对手机传输高清摄像的挑战,需要在USB标准中定义一个USB音视频类来规范USB视频传输(Video-over-USB)技术。【您可以是大型系统集成商、可以是相关贸易的经销商、也可以是设计单位、即便您是个人、只要您有资源、只要您有渠道、我们都会最大限度内保证您的利益。】  手机的摄像功能已经从一种新鲜事物发展为主流配置,移动供应商策略性地把高清录像作为他们的高端产品。在手机中整合高清视频将会进一步体现其实用价值,因为它已不仅是一个数码相机,还是一个数码摄像机​。  把高清录像放到手机会带.

    2022年10月3日
  • vscode 快速新建一个HTML文件

    现在工作中很少会去重新写一个html文件,以致很多简单有效的快捷键都不太会用,写个笔记供以后参考,如有不对,请指正…1.在代码编辑器(vscode,pycharm,phpstorm)中新建一个xxx.html文件下面以vscode为示例:2.英文模式下输入:!后按tab键//这样一个简易的html文件就写完了想要快速打开HTML文件查看编辑效果1.点击编辑器主界面…

    2022年4月4日
  • 网管员常用工具(二)「建议收藏」

    网管员常用工具(二)「建议收藏」EVERESTeverest中文版是一款系统硬件检测工具。everest中文版可以对上千种主板和硬件进行检测,可以有效地检测出用户电脑硬件的所有信息,尤其可以对各种型号处理器进行检测,让用户对自己电脑总体性能有个直观了解。HDTuneHDTunePro是一款小巧易用的硬盘工具软件,其主要功能有硬盘传输速率检测,健康状态检测,温度检测及磁盘表面扫描等。另外,还能检测出硬盘的固件版本、…

    2022年9月1日
  • C语言左右法则

    C语言左右法则

    2021年8月13日
  • Java:详解Java中的异常(Error与Exception)[通俗易懂]

    Java:详解Java中的异常(Error与Exception)[通俗易懂]一、异常机制的概述异常机制是指当程序出现错误后,程序如何处理。具体来说,异常机制提供了程序退出的安全通道。当出现错误后,程序执行的流程发生改变,程序的控制权转移到异常处理器。程序错误分为三种:1.编译错误;2.运行时错误;3.逻辑错误。(1)编译错误是因为程序没有遵循语法规则,编译程序能够自己发现并且提示我们错误的原因和位置,这个也是大家在刚接触编程语言最常遇到的问题。(2)运行时错误是因为程序在执行时,运行环境发现了不能执行的操作。(3)…

    2022年7月7日
  • C++构造函数的作用_c++什么是构造函数

    C++构造函数的作用_c++什么是构造函数PS:写在前面就是构造函数的作用可以这样理解,如果没有构造函数就是类里边只是声明了成员变量,成员函数,还有最后的对象,这样你在对该对象进行初始化赋值时就比较麻烦就得先调用成员函数对成员变量赋值,成员变量进而作用到对象上,之后有了构造函数,在构建构造函数时直接可以带参数对对象进行初始化,相当于省略了步骤,可以这样简单的理解。PS:但是构造函数远远不止只有赋值这一条作用(此处不要陷入误区以为他就是给成员变量赋值的这一个作用,不是这样的或者说不完全是这样,给成员变量赋值只是构造函数的作用之一,他还有其

    2022年9月8日

发表回复

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

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