springmvc控制登录用户session失效后跳转登录页面

十五、通过拦截器来完成一个用户登录权限验证的案例 在用户登录方法中,先通过User类型的参数获取了用户名和密码,然后通过if语句来模拟从数据库中获取到用户名和密码后的判断。( 6)在 WEB-INF目录下的jsp文件夹中,创建一个登录页面login.jsp,在页面中编写一个用于实现登录操作的 form表单。从图可以看出,当用户未登录而直接访问主页面时,访问请求会被登录拦截器拦截,从而跳转到登录页面,并提示用户未登录信息。如果在用户名输入框中输入“jack",密码框中输入“123456”,当单击“登录”按钮后,浏览器的显示结果如图所示。 阅读详情

第一步,配置 web.xml

[html]  view plain  copy 
  print ?
  1. <span style="font-size:18px;">  <session-config>  
  2.     <session-timeout>15</session-timeout>  
  3.   </session-config>  
  4. </span>  

第二步,配置spring-mvc.xml

[html]  view plain  copy 
  print ?
  1. <span style="font-size:18px;"><!-- Session失效拦截 -->  
  2.     <mvc:interceptors>  
  3.         <!-- 定义拦截器 -->  
  4.          <mvc:interceptor>      
  5.                 <!-- 匹配的是url路径, 如果不配置或/**,将拦截所有的Controller -->    
  6.                 <mvc:mapping path="/**" />    
  7.                 <!-- 不需要拦截的地址 -->  
  8.                 <mvc:exclude-mapping path="/login.do" />  
  9.                 <bean class="com.cm.contract.controller.annotation.GEISSSessionTimeoutInterceptor"></bean>      
  10.         </mvc:interceptor>  
  11.     </mvc:interceptors>  
  12. </span>  

第三步,写拦截器SystemSessionInterceptor 方法

[java]  view plain  copy 
  print ?
  1. public class SystemSessionInterceptor implements HandlerInterceptor {  
  2.     private static final String LOGIN_URL="/jsp/sessionrun.jsp";  
  3.     @Override  
  4.     public void postHandle(HttpServletRequest request,  
  5.             HttpServletResponse response, Object handler,  
  6.             ModelAndView modelAndView) throws Exception {  
  7.           
  8.   
  9.     }  
  10.   
  11.     @Override  
  12.     public void afterCompletion(HttpServletRequest request,  
  13.             HttpServletResponse response, Object handler, Exception ex)  
  14.             throws Exception {  
  15.   
  16.     }  
  17.   
  18.     @Override  
  19.     public boolean preHandle(HttpServletRequest request, HttpServletResponse response,  
  20.             Object handler) throws Exception {  
  21.         HttpSession session=request.getSession(true);  
  22.         //session中获取用户名信息  
  23.         Object obj = session.getAttribute(CMConstant.LOGINUSER);  
  24.         if (obj==null||"".equals(obj.toString())) {  
  25.             response.sendRedirect(request.getSession().getServletContext().getContextPath()+LOGIN_URL;
  26.                  return false;
  27.            }
  28.            return true;
  29.      }
第五步,配置友情提示页面sessionrun.jsp

[javascript]  view plain  copy 
  print ?
  1. <span style="white-space:pre">    </span><body>  
  2.           
  3.     <SCRIPT language="JavaScript">  
  4.         alert("用户已在其他地方登陆,请重新登录。");  
  5.         setTimeout(function () {  
  6.             window.top.location.href="<%=path%>/index.jsp";  
  7.         },2000);  
  8.     </script>  
  9.     </body>  


到此 springMvc拦截session失效后处理方式结束。点击打开链接
JavaWeb用户Session超时解决方案 总结JavaWeb用户Session超时解决方案。 阅读详情

相关推荐

详解springmvc控制登录用户session失效后跳转登录页面

本篇文章主要介绍了springmvc控制登录用户session失效后跳转登录页面,session一旦失效就需要重新登陆,有兴趣的同学可以了解一下。

Spring MVC拦截器失效问题解决

拦截器类如图: 项目结构如图所示,有两个配置文件 当时把拦截器配置到web.xml文件中,无论怎么都拦截不了,起不了作用,后面把拦截器配置到springmvc-servlet.xml中生效了,配置如图,通过如图的方式配置,无论添加mvc:annotation-driven/ 配置还是不添加,都可以配拦截到 如果通过如图配置拦截器,配置了mvc:annotation-driven/,拦截器则不生效,注销 mvc:annotation-driven/配置即可 结果如图 ...

TheMatrixNeoBoy的博客 2184

保姆级教程:手把手配置MAX9295/9296 GMSL2-CSI2链路,搞定4LAN/1LAN模式与常见调试

本文提供MAX9295/9296 GMSL2-CSI2链路的详细配置教程,涵盖4LAN和1LAN模式的硬件连接、寄存器配置及调试技巧。通过实战案例和代码示例,帮助开发者快速实现高带宽视频传输,解决常见问题如信号同步和功耗优化,适用于车载摄像头和机器人视觉系统开发。

weixin_42561143的博客 434

SpringMVC配置session过期拦截器,返回登录页面

spring-mvc.xml配置 <mvc:interceptors>   <!-- session失效拦截器 --> <mvc:interceptor> <!-- 匹配的是url路径, 如果不配置或/**,将拦截所有的Controller -->   <mvc:mapping path="${fr...

weixin_33779515的博客 776

ArcGIS License Server点击启动没反应,许可管理器无法启动怎么办

4 当我们再打开ArcGIS License Server Administrator的时候。3 在【服务】中找到【ArcGIS License Manager】双击。无法启动ArcGIS License Server的情况。在使用ArcGIS的过程中,我们经常会遇到。专注GIS领域知识分享,交流行业软件技巧。欢迎关注,不定期分享GIS各种问题和技巧。1 右击我的电脑——【管理】服务状态——启动,确定即可。启动类型选择——自动。

GIS蒲公英的博客 2万+

看不懂分子动力学模拟的结果?一文读懂RMSD曲线

随后,将每一帧结构与初始模板进行叠合,计算对应原子的平均偏移量,即RMSD。总之,掌握 RMSD 的解读方法,就等于抓住了评估分子动力学模拟成败与质量的“总开关”。①在模拟初始阶段,RMSD会从0迅速上升,这是蛋白质从静态晶体或模型结构释放到溶液环境中并逐渐适应的正常过程。②经过一段时间后,曲线不再系统性上升或下降,而是围绕一个平均值,小幅度地上下波动,形成一个稳定的“平台”。这种情况下,RMSD 在初始快速上升后,并未进入平台,而是持续甚至加速上升,始终未见收敛。🔍 如何解读不同趋势的RMSD曲线。

weixin_46587777的博客 4884

springmvc session丢失 重新登录

参考 http://zhengjunxiang.iteye.com/blog/1990689 具体做法 由于本人目前开发的项目,几乎所有的页面显示都是基于ajax请求,所以,不让系统变复杂,取一个简单方式来实现。 后台 权限拦截器检查session为空的时候,添加reponse头,用来作为标记 //2.拦截未登录操作 HttpSession session

u014698430的博客 1991

TEC控制器芯片 ADN8835 中文数据手册

ADN8835是一款高集成度的单芯片TEC控制器。它包括线性电压调节模块脉冲宽度调制(PWM) 电压调节模块和两个零漂移、轨到轨斩波放大器。线性控制器和PWM驱动器用于控制H桥配置中的内部功率MOSFET。通过测量热传感器反馈电压,并使用集成的运算放大器作为比例-积分-微分(PID)补偿器来调理信号,ADN8835通过TEC驱动电流,将连接至TEC模块的激光二极管或无源组件的温度稳定到编程的目标温度。

lu2289504634的博客 9528

《Spring Security 3》 【第三章】增强用户体验(2)

《Spring Security 3》 【第三章】增强用户体验(2) 摘要: 术语退出(Logout)指的是用户使其安全session失效的一种操作。一般来说,用户在退出后,将会被重定向到站点的非安全保护的界面。让我们在站点的页头部分添加一个“Log Out”的链接,并再次访问站点以了解其如何实现功能的。 理解退出功能 术语退出(Logout)

小糊涂蛋大糊涂神的专栏 1122

【谷粒商城】分布式事务与下单

=购物车== 构建gulimall-cart,复制静态资源到nginx,修改网关 购物车分为离线购物车和登录购物车 离线购物车重启浏览器了也还有 1、购物车需求 特点:读多写少,放入数据库并不合适 登录状态:登录购物车 放入数据库 mongodb 放入redis(采用) 登录以后,将离线购物车里合并后清空离线购物车 未登录状态:离线购物车 放入localstorage浏览器的技术 cookie WebSQL 放入redis(采用) 浏览器重启后还在 2、购物车VO (1) 数据结构分析

努力充实,远方可期 1万+

别再乱用标签了!深度解析Unity Addressables标签(Labels)的三种高级用法与性能影响

本文深度解析Unity Addressables标签(Labels)的三种高级用法与性能影响,包括标签组合查询、Pack Together by Label打包策略及运行时性能优化。通过实战代码示例和性能数据对比,帮助开发者实现精细化资源加载控制与包体优化,提升项目效率。

weixin_30500105的博客 508

springmvc 功能 登出_详解springmvc控制登录用户session失效后跳转登录页面

springmvc控制登录用户session失效后跳转登录页面,废话不多少了,具体如下:第一步,配置 web.xml15第二步,配置spring-mvc.xml第三步,写拦截器SystemSessionInterceptor 方法public class SystemSessionInterceptor implements HandlerInterceptor {private static f...

weixin_39607474的博客 206

淋巴结病理数字玻片读取与处理代码

Whole-slide images are generally stored in a multi-resolution pyramid structure. 首先安装openslide模块 pip install openslide-python import os.path as osp import openslide from pathlib import Path...

猫头军师兵书 1275

java session失效之后跳转_详解springmvc控制登录用户session失效后跳转登录页面

springmvc控制登录用户session失效后跳转登录页面,废话不多少了,具体如下:第一步,配置 web.xml15第二步,配置spring-mvc.xml第三步,写拦截器SystemSessionInterceptor 方法public class SystemSessionInterceptor implements HandlerInterceptor {private static f...

weixin_39815031的博客 300

PDBfixer:蛋白质结构修复工具

本文介绍蛋白质数据银行(PDB)文件常见问题及修复工具PDBFixer的使用方法。PDB文件常存在缺失原子、残基等问题,PDBFixer可通过GUI、命令行或Python API实现自动化修复。文章详细说明安装方法、命令行参数、Python脚本修复流程及非标准残基替换表,并与Modeller、ColabFold和Rosetta Remodel等其他修复工具进行对比分析,提供了各工具的特点、适用场景和典型计算时间比较,帮助用户根据具体需求选择合适的修复工具。

Protein Designer的博客 610

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

java页面跳转登录状态丢失_详解springmvc控制登录用户session失效后跳转登录页面...

springmvc控制登录用户session失效后跳转登录页面,废话不多少了,具体如下:第一步,配置 web.xml15第二步,配置spring-mvc.xml第三步,写拦截器SystemSessionInterceptor 方法public class SystemSessionInterceptor implements HandlerInterceptor {private static f...

weixin_34871733的博客 344

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

java session超时跳转_Javaweb项目session超时解决方案

在Java Web开发中,Session为我们提供了很多方便,Session是由浏览器和服务器之间维护的。Session超时理解为:浏览器和服务器之间创建了一个Session,由于客户端长时间(休眠时间)没有与服务器交互,服务器将此Session销毁,客户端再一次与服务器交互时之前的Session就不存在了。0.需求需要对所有的/web/**请求进行登录拦截,Session超时时跳转到登录页面。1...

weixin_35102377的博客 354

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

SpringMVC拦截器深度解析:从原理到实战,实现登录校验与权限控制

在Java Web开发中,面向切面编程(AOP)是一种将横切关注点(如日志、安全、事务)与核心业务逻辑分离的重要设计思想。其核心原理是通过预定义的切点,在方法执行前后动态植入通用逻辑,从而实现代码复用和解耦。这一思想在Spring框架中有着广泛的技术价值,它显著提升了代码的可维护性和模块化程度。在Web开发领域,这一思想的具体实现便是拦截器(Interceptor)和过滤器(Filter),它们被广泛应用于用户认证、访问控制、日志记录和性能监控等场景。本文将聚焦于SpringMVC拦截器,深入探讨其相较于过

weixin_33782386的博客 473

SpringSecurity OAuth2.0-第2章:spring mvc框架基于session的认证授权&(含interceptor的使用,只对指定资源拦截)

一 基于session的认证流程 1.1 认证流程 基于session的认证流程为: 用户认证成功后,在服务端生成用户相关的数据保存在session(当前会话),而发 给客户端的 sesssion_id 存放到 cookie 中,这样用客户端请求时带上 session_id 就可以验证服务器端是否存在 session 数据,以此完成用户的合法校验。当用户退出系统或session过期销毁时,客户端的session_id也就无效了。 流程如下: 基于Session的认证机制由Servlet规范定制.

健康平安的活着的专栏 2659

java logout session_Javaweb项目中关于session超时的问题解决

这篇文章主要介绍了Javaweb项目session超时解决方案,关于解决方案分类比较明确,内容详细,需要的朋友可以参考下。在Java Web开发中,Session为我们提供了很多方便,Session是由浏览器和服务器之间维护的。Session超时理解为:浏览器和服务器之间创建了一个Session,由于客户端长时间(休眠时间)没有与服务器交互,服务器将此Session销毁,客户端再一次与服务器交互时...

weixin_28730927的博客 290

session过期跳转到登陆页面并跳出iframe框架的两个方法

最近在做拦截器,判断用户登录后操作超时,失去权限然后要重新登录,但是用的iframe,返回的登陆页总是在框架中显示,我百度了下,总是只有其中一个方法,现在分享下两种解决方法,希望对你们有帮助: 方法一: 一般使用filter过滤用户是否登录,如果用户没有登陆则转向登陆页面,这时候可以使用response.sendRedirect()。但当在页面上使用了iframe后,发现被重定...

weixin_30702887的博客 117

java session 超时_Javaweb项目session超时解决方案

在Java Web开发中,Session为我们提供了很多方便,Session是由浏览器和服务器之间维护的。Session超时理解为:浏览器和服务器之间创建了一个Session,由于客户端长时间(休眠时间)没有与服务器交互,服务器将此Session销毁,客户端再一次与服务器交互时之前的Session就不存在了。0.需求需要对所有的/web/**请求进行登录拦截,Session超时时跳转到登录页面。1...

weixin_35112750的博客 1243
上一篇: Hibernate 的三种查询方式:HQL、Criteria、Sql
下一篇: spring常用注解详情
前端蜗牛君
博客等级 码龄10年 274粉丝 158原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值