iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >SpringMVC实现自定义拦截器登录检测功能
  • 116
分享到

SpringMVC实现自定义拦截器登录检测功能

2023-06-20 20:06:26 116人浏览 八月长安
摘要

这篇文章主要介绍“springMVC实现自定义拦截器登录检测功能”,在日常操作中,相信很多人在springmvc实现自定义拦截器登录检测功能问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”SpringMVC实现

这篇文章主要介绍“springMVC实现自定义拦截器登录检测功能”,在日常操作中,相信很多人在springmvc实现自定义拦截器登录检测功能问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”SpringMVC实现自定义拦截器登录检测功能”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

目录
  • 一、定义登录控制器

  • 二、自定义登录拦截器

一、定义登录控制器

目录结构

SpringMVC实现自定义拦截器登录检测功能

代码:

创建TUser类

package com.demo.pojo;import lombok.AllArgsConstructor;import lombok.Data;import lombok.NoArgsConstructor;@Data@AllArgsConstructor@NoArgsConstructorpublic class TUser {    private String name;    private String passWord;}

创建LoginController类

package com.demo.controller;import com.demo.pojo.TUser;import com.demo.pojo.User;import org.springframework.stereotype.Controller;import org.springframework.ui.Model;import org.springframework.WEB.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RequestMethod;import org.springframework.web.bind.annotation.RequestParam;import javax.servlet.Http.httpservletRequest;import javax.servlet.http.HttpServletResponse;import javax.servlet.http.HttpSession;@Controller@RequestMapping("/user")public class LoginController {    @RequestMapping("/login")    public String login(Model model){        model.addAttribute("msg","这里是登陆界面");        return "login";    }    @RequestMapping("/doLogin")    public String doLogin(TUser tUser,                          HttpServletRequest req, HttpServletResponse resp, Model model){        System.out.println("###LoginController.doLogin()");        if(!"admin".equals(tUser.getName())||!"admin".equals(tUser.getPassword())){            model.addAttribute("msg","用户名或密码不正确!");            return "loginFail";//跳转到loginFail.jsp        }        HttpSession httpSession=req.getSession(true);//存在session则使用,不存在则创建        httpSession.setAttribute("user",tUser);        model.addAttribute("msg","登录成功");        return "success";//跳转到success.jsp    }    @RequestMapping("/loginOut")    public String loginFail(HttpSession session,Model model){        model.addAttribute("msg","退出登录");        session.removeAttribute("user");        return "login";    }}

页面代码:

login.jsp

<%@ page contentType="text/html;charset=UTF-8" language="java" %><html><head>    <title>login</title></head><body><h2>${msg}</h2><fORM id="login" action="${pageContext.request.contextPath}/user/doLogin" method="post">    用户名:<input type="text" name="name"/><br/>    密码:<input type="password" name="password"><br/>    <input type="submit"></form></body></html>

loginFail.jsp

<%@ page contentType="text/html;charset=UTF-8" language="java" %><html><head>    <title>loginFail</title></head><body><h2>${msg}</h2><h3><a href="${pageContext.request.contextPath}/user/loginOut" rel="external nofollow"  rel="external nofollow" >返回登录界面</a></h3></body></html>

success.jsp

<%@ page contentType="text/html;charset=UTF-8" language="java" %><html><head>    <title>success</title></head><body>${msg}<h3><a href="${pageContext.request.contextPath}/user/loginOut" rel="external nofollow"  rel="external nofollow" >退出登录</a></h3></body></html>

二、自定义登录拦截器

代码:

创建LoginInterceptor类,作为拦截器类需实现HandlerInterceptor,并重写里面的三个方法preHandle、postHandle、afterCompletion:

package com.demo.interceptor;import org.springframework.web.servlet.HandlerInterceptor;import org.springframework.web.servlet.ModelAndView;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;public class LoginInterceptor implements HandlerInterceptor {    @Override    public boolean preHandle(HttpServletRequest request, HttpServletResponse response,                             Object handler) throws Exception {        System.out.println("LoginInterceptor preHandle");        //放行:判断什么情况下        //1、请求到登陆界面放行,首次登陆        if(request.getRequestURI().contains("login")||request.getRequestURI().contains("doLogin")){            return true;        }        //2、退出登录可直接放行        if(request.getRequestURI().contains("loginOut")){            return true;        }        //3、通过登录进入 放行        if(request.getSession().getAttribute("user")!=null){            return true;        }        //非法请求进行拦截        //重定向到登录页面        response.sendRedirect(request.getContextPath()+"login");        //拦截        return false;    }    @Override    public void postHandle(HttpServletRequest request, HttpServletResponse response,                           Object handler, ModelAndView modelAndView) throws Exception {        System.out.println("LoginInterceptor  "+"postHandle");    }    @Override    public void afterCompletion(HttpServletRequest request, HttpServletResponse response,                                Object handler, Exception ex) throws Exception {        System.out.println("LoginInterceptor  "+"afterCompletion");    }}

在spring-mvc.xml中配置LoginInterceptor拦截器 测试: 1、正常登录(正确密码:admin)

SpringMVC实现自定义拦截器登录检测功能

1、点击退出登录

SpringMVC实现自定义拦截器登录检测功能

用户名密码错误

SpringMVC实现自定义拦截器登录检测功能

1、点击返回登录界面

SpringMVC实现自定义拦截器登录检测功能

非法请求

SpringMVC实现自定义拦截器登录检测功能

到此,关于“SpringMVC实现自定义拦截器登录检测功能”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注编程网网站,小编会继续努力为大家带来更多实用的文章!

--结束END--

本文标题: SpringMVC实现自定义拦截器登录检测功能

本文链接: https://www.lsjlt.com/news/299941.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • SpringMVC实现自定义拦截器登录检测功能
    这篇文章主要介绍“SpringMVC实现自定义拦截器登录检测功能”,在日常操作中,相信很多人在SpringMVC实现自定义拦截器登录检测功能问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”SpringMVC实现...
    99+
    2023-06-20
  • SpringMVC自定义拦截器登录检测功能的实现代码
    目录一、定义登录控制器二、自定义登录拦截器一、定义登录控制器 目录结构 代码: 1、创建TUser类 package com.demo.pojo; import lombok...
    99+
    2024-04-02
  • Java SpringMVC实现自定义拦截器
    目录SpringMVC实现自定义拦截器1 拦截器(interceptor)的作用2 拦截器和过滤器区别3.实现过程3.1创建拦截器类实现HandlerInterceptor接口3.2...
    99+
    2024-04-02
  • Java SpringMVC如何实现自定义拦截器
    本篇内容主要讲解“Java SpringMVC如何实现自定义拦截器”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Java SpringMVC如何实现自定义拦截器”吧!Spri...
    99+
    2023-06-29
  • SpringMVC拦截器如何实现单点登录
    这篇文章将为大家详细讲解有关SpringMVC拦截器如何实现单点登录,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。单点登录的功能在实际的应用场景中还是很重要的,逻辑上我们也不允许一个用户同时在进行着两个操...
    99+
    2023-05-30
  • 基于SpringMVC实现网页登录拦截
    目录1.简介2.自定义拦截器3. 登录拦截3.1 先做一个页面3.2 登录拦截1.简介 SpringMVC的处理器拦截器类似于Servlet开发中的过滤器Filter,用于对处理器进...
    99+
    2024-04-02
  • SpringMVC超详细介绍自定义拦截器
    目录1.什么是拦截器2.自定义拦截器执行流程图3.自定义拦截器应用实例1.快速入门2.注意事项和细节3.Debug执行流程4.多个拦截器1.多个拦截器执行流程示意图2.应用实例3.主...
    99+
    2024-04-02
  • Mybatis拦截器实现自定义需求
    目录前言一、应用场景二、Mybatis实现自定义拦截器2.1、编写拦截器2.2、添加到Mybatis配置2.3、测试2.4、小结三、拦截器接口介绍intercept 方法plugin...
    99+
    2023-05-19
    Mybatis自定义拦截器 Mybatis 拦截器
  • 基于SpringMVC如何实现网页登录拦截
    基于SpringMVC如何实现网页登录拦截,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。1.简介SpringMVC的处理器拦截器类似于Servlet开发中的过滤器Filte...
    99+
    2023-06-22
  • Springboot如何实现自定义mybatis拦截器
    这篇文章将为大家详细讲解有关Springboot如何实现自定义mybatis拦截器,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。实践的准备 : 整合mybatis ,然后故意写了3个查询方法, ...
    99+
    2023-06-22
  • Springboot自定义mybatis拦截器实现扩展
    前言 相信大家对拦截器并不陌生,对mybatis也不陌生。 有用过pagehelper的,那么对mybatis拦截器也不陌生了,按照使用的规则触发sql拦截,帮我们自动添加分页参数 ...
    99+
    2024-04-02
  • 如何使用SpringBoot拦截器实现登录拦截
    小编给大家分享一下如何使用SpringBoot拦截器实现登录拦截,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!可以对URL路径进行拦截,可以用于权限验证、解决乱码...
    99+
    2023-06-29
  • SSM项目使用拦截器实现登录验证功能
    目录登录接口实现拦截器类代码实现配置文件实现登录接口实现 public User queryUser(String UserName, String Password,HttpSe...
    99+
    2024-04-02
  • SpringBoot拦截器实现登录拦截的示例代码
    可以对URL路径进行拦截,可以用于权限验证、解决乱码、操作日志记录、性能监控、异常处理等  实现代码 新建 interceptor包 添加拦截器代码 package c...
    99+
    2024-04-02
  • 怎么使用Spring MVC拦截器实现一个登录功能
    怎么使用Spring MVC拦截器实现一个登录功能?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。HandlerInterceptor接口Spring MVC中的Intercep...
    99+
    2023-05-31
    springmvc
  • Java 实现拦截器Interceptor的拦截功能方式
    目录第1步:创建业务组件接口 BusinessFacade第2步:创建业务组件实现类 BusinessClass第3步:创建拦截器 InterceptorClass第4步:创建动态代...
    99+
    2024-04-02
  • MyBatis中怎么实现自定义的SQL拦截器
    在 MyBatis 中实现自定义的 SQL 拦截器,通常可以通过实现 org.apache.ibatis.plugin.Interc...
    99+
    2024-05-08
    MyBatis SQL
  • SpringBoot如何实现登录拦截器
    这篇文章主要介绍“SpringBoot如何实现登录拦截器”,在日常操作中,相信很多人在SpringBoot如何实现登录拦截器问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”SpringBoot如何实现登录拦截器...
    99+
    2023-07-02
  • 拦截器在Spring MVC中怎么实现自定义
    拦截器在Spring MVC中怎么实现自定义?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。1. 引言拦截器(Interceptor)实现对每一个请求处理前后进行...
    99+
    2023-05-31
    spring mvc
  • node.js怎么实现登录拦截器
    本文小编为大家详细介绍“node.js怎么实现登录拦截器”,内容详细,步骤清晰,细节处理妥当,希望这篇“node.js怎么实现登录拦截器”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。首先我们实现一个过滤器expo...
    99+
    2023-07-04
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作