-
springmvc 拦截器0
有这样一个应用场景,用户在一个表单上填了数据,这个表单上数据很多,用户填完没有提交,出去干了点其他事,等回来时session失效了,但是用户又不知道,当用户点击提交时系统要弹出窗口提示我session失效,但是不能跳转页面,不能让用户再填一次表单
如何用springmvc拦截器来实现这个功能?
问题补充:问题的重点不在session,而是用springmvc拦截器能否实现这样的功能,如果能怎么做?2014年9月10日 17:37
4个答案 按时间排序 按投票排序
-
我感觉这样的问题是用ajax比较好,后台有个获取用户登录状态是否有效的判断,如果判断没有登录状态,那么给在ajax的回调函数哪儿做一个判断即可。
2014年9月11日 14:17
-
这块通过spring mvc的拦截器能实现,我的思路是下面的:
1. 在拦截器里面判断session是否超时,当然了,如果是集群环境采用外部session的时候道理也一样
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception { String requestUrl = request.getRequestURI(); for(String url : allowUrls) { if(requestUrl.endsWith(url)) { return true; } } String session = (String) WebUtils.getSessionAttribute(request, "username"); if(session != null) { return true; }else { throw new SessionTimeoutException(); } }
2. 刚才针对你的需要我感觉ajax话能稍微简单点,是最可行的,因为form提交天生要刷新页面,如果有这种需求感觉可以使用jquery.form插件来进行提交,这样应该能搞定
在你自定义的ExceptionResolver里面,对刚才的异常类型进行判断即可
String accept = request.getHeader("accept"); if(accept.indexOf("application/json")>-1 && ex instanceof SessionTimeoutException){ Map<String,String> errors = new HashMap<String,String>(); errors.put("errorCode", "-1"); errors.put("errorMsg", "chaoshi"); request.setAttribute("errorJson", JSONObject.fromObject(errors).toString()); return super.getModelAndView("errors/ajax/chaoshi", ex, request); }
这样就返回给前端一个json, 有这个json你前端统一处理即可,我感觉思路是能走通的。2014年9月11日 11:30
-
出于UI交互性的角度考虑,应该在session的失效的时候弹出一个对话框通知用户失效,并且对话框中可以让user重新输入密码登陆,然后继续在当前页面操作。
可以用个定时器定时扫描session的状态2014年9月10日 21:04
相关推荐
在本文中,我们讨论了三种解决SpringMVC拦截器拦截静态资源文件的方法,并对这些方法的优劣进行了分析。 方案一是在拦截器中排除静态资源路径。在SpringMVC的配置文件中(通常是spring-mvc.xml),可以通过配置元素...
SpringMVC 拦截器项目是一个典型的 Web 应用开发示例,它利用 SpringMVC 框架中的拦截器(Interceptor)机制来实现特定的功能,如权限控制、日志记录、性能统计等。SpringMVC 是 Spring 框架的一部分,专为构建基于 ...
这个名为“SpringMVC拦截器源代码.zip”的压缩包可能包含了Spring MVC拦截器的实现源码,这对于理解和学习如何自定义拦截器以增强应用功能非常有帮助。 1. **拦截器的基本概念** - 拦截器是AOP(面向切面编程)的...
### SpringMVC拦截器 #### 一、拦截器概述 拦截器(Interceptor)是一种轻量级、低侵入式的AOP实现方式,在SpringMVC框架中有着广泛的应用。它主要用于处理那些与业务逻辑无关但又频繁出现的功能需求,如日志记录...
在Spring MVC框架中,拦截器(Interceptor)是一个强大的工具,用于在请求被控制器处理之前或之后执行特定的逻辑。它们可以用来实现通用的功能,如权限验证、日志记录、性能统计等,避免在每个控制器方法中重复编写...
本实验报告将探讨如何利用 SpringMVC 的拦截器(Interceptor)来实现用户登录权限验证,确保只有已登录的用户才能访问特定的受保护资源。 首先,我们来看一下实验的基本步骤: 1. 创建 `User` 类:这是表示用户...
综上所述,本项目是一个适合初学者了解和实践SpringMVC拦截器功能的小程序。通过学习和实践,你可以掌握如何使用拦截器实现登录验证和安全退出,同时加深对Intelli IDEA的使用理解。在实际应用中,拦截器常用于权限...
SpringMVC拦截器是基于AOP(面向切面编程)的概念实现的,它们遵循HandlerInterceptor接口。这个接口定义了三个方法: 1. `preHandle`: 在请求被处理器处理之前调用,返回`true`表示继续执行处理器,`false`则中断...
SpringMVC拦截器是实现登录认证的一种常见方法,它允许开发者在请求被实际处理之前或之后执行特定的逻辑。本文将深入探讨如何利用SpringMVC拦截器来实现这一功能。 首先,了解SpringMVC的核心组件是必要的。...
在Spring MVC框架中,拦截器(Interceptor)是一个强大的工具,用于在请求被控制器处理之前或之后执行特定的逻辑。它们可以用来实现通用的功能,如权限验证、日志记录、性能统计等,避免在每个控制器方法中重复代码...
在这个过程中,`SessionListener`、持久化`Session`和`Springmvc拦截器`是关键组件,让我们逐一深入探讨。 ### SessionListener `SessionListener`是Java Servlet API中的一个接口,用于监听`HttpSession`事件。...
SpringMVC 拦截器实现单点登录是一种常见的安全控制机制,主要用于确保在同一时间只有一个用户能够使用同一账号进行操作。这种功能在多用户、多设备登录的环境中尤为重要,可以防止用户账号被盗用或者误操作。 单点...
SpringMVC 拦截器是 Spring MVC 框架中的一个重要组成部分,它允许开发者在控制器处理请求之前或之后执行自定义逻辑。拦截器可以用于实现登录检查、权限验证、日志记录、性能监控等多种功能。本文将详细介绍 ...
11SpringMVC拦截器.md
SpringMVC 拦截器(HandlerInterceptor)是 SpringMVC 框架中的一个重要组成部分,它在请求处理之前、之后以及视图渲染之前执行,提供了预处理和后处理的功能。这个入门实例是为了帮助开发者理解如何在实际项目中...
SpringMVC拦截器配置及运行流程解析 SpringMVC拦截器是指在SpringMVC框架中,用于拦截和处理请求的组件。拦截器可以在请求处理之前、之后或抛出异常时执行某些操作,例如身份验证、日志记录、异常处理等。SpringMVC...
"springMVC拦截器HandlerInterceptor用法代码示例" springMVC拦截器HandlerInterceptor是一种非常重要的技术,它可以帮助我们拦截用户的请求,从而知道页面请求的是哪个class的哪个方法。本文将详细介绍springMVC...