解决session失效之后登陆后重新返回之前的页面

在全局拦截器设置保存之前的url存入session中 登陆之后的地址再重session中存

request只用作一次请求 如果页面跳转几次的话原来的url就不存在了建议存在session

@Override
public boolean preHandle(HttpServletRequest request,
HttpServletResponse response, Object handler) throws Exception {
System.out.println("拦截Spring MVC所有的请求");
User user =(User) request.getSession().getAttribute("user");
if(user==null){
//用户没有登录

String url = request.getRequestURI();
//先清除之前url的session
try {
request.getSession().removeAttribute("url");
} catch (Exception e) {
// TODO: handle exception
}
//保留失效之前的地址
request.getSession().setAttribute("url", url);
response.sendRedirect(request.getContextPath()+"/failure.jsp");
return false;
}
return true;
}

时间: 2024-08-30 13:35:08

解决session失效之后登陆后重新返回之前的页面的相关文章

解决ssh配置无密码登陆后再次出现请求输入密码的情况

http://inuyasha1027.blog.51cto.com/4003695/1132896/ 主机ip:192.168.163.100(hostname: node0) ssh无密码登陆的远程机ip:192.168.163.101(hostname: node1) 首先要修改主机 和ssh连接到的远程机 的配置文件: vi  /etc/ssh/sshd_config (要确保这些字符前无注释符号"#") RSAAuthentication  yes PubkeyAuthent

解决dashboard面板成功登陆后页面无反应

当搭建完dashboard页面进行登陆的时候页面没有反应,首先去查看http日志文件: [Thu Apr 04 17:39:35.792644 2019] [:error] [pid 17630] Could not process panel theme_preview: Dashboard with slug "developer" is not registered. [Thu Apr 04 17:39:46.013970 2019] [:error] [pid 17630] L

JS页面跳转后,返回到该页面时,该页面的全局变量的值是怎么变化的?

前奏 window.location.reload();history.back(-1);history.go(1);多种页面刷新跳转详解 问题 待续----

session失效后跳转到登陆页面

一.编写Filter拦截器类 1 package com.pv.utils; 2 3 import java.io.IOException; 4 import java.io.PrintWriter; 5 6 import javax.servlet.*; 7 import javax.servlet.http.HttpServletRequest; 8 import javax.servlet.http.HttpServletResponse; 9 import javax.servlet.h

easyUI iframe中请求Session失效后iframe内跳转到首页的解决方案

最近用户easyUI搭了一套前端,后台是spring mvc + shiro,如果前端页面超过session过期时间再操作,iframe内的内容就会跳转到登录页面,而不是整个页面跳转到登录页. 原因:iframe内的请求因为请求超时后返回登录页面,还是会填充到iframe中. 解决方案: 1. 登录页中的body部分加入判断,载入页面时如果发现当前窗口不是顶级窗口,就将顶级窗口的内容更新为当前窗口的内容. 部分代码如下: </script> //判断当前窗口是否有顶级窗口,如果有就让当前的窗口

空间session失效的解决方法

今天访问自己的网站的时候(by thinkphp),突然发现身份验证失效了,Session无法跨页,而且登陆的时候总是提示验证码错误(验证码也是通过Session传递的),才意识到可能是Session失效了.由于我租用的空间是IIS环境的,可能Session会存放在固定的位置,而那个位置对我来说是透明的(不可知的),它可能出了问题(满了或者权限问题等),于是我决定修改Session存放的位置,在网上找了下述解决办法,终于搞定了,方法如下: 修改session路径有很多的不同的方法,像可在直接在t

ECSHOP后台登陆后一段时间不操作就超时的解决方法

ECSHOP后台登陆后一段时间不操作就超时的解决方法 ECSHOP教程/ ecshop教程网(www.ecshop119.com) 2012-05-27 客户生意比较好,因此比较忙,常常不在电脑前,经常打开后台长时间不操作,等回到电脑前操作时,每次都超时,需要从新登陆,因此,客户希望后台的登录时间尽量长些,解决这个问题主要是要在date/config.php 中设置session的值,session默认的是“1440”,可尽量大些,比如“3600”等等!

登陆成功后,返回登陆前的网址和删除服务器图片

登陆成功后,返回登陆前的网址 登陆前网站的cs的Page_Load方法中加入: protected void Page_Load(object sender, EventArgs e) { Session.Add("url", Request.Url.ToString()); } 登录网站的cs登录成功后: Response.Redirect(Session["url"].ToString());  删除服务器图片 GridView1绑定数据库删除图片例子: cs文

美团_ccListView选中Item的颜色修改及解决登陆后升级通知再次弹出的bug

实现,在listView Xml中设置 android:listSelector="@color/green" 2. 解决登陆后升级通知再次弹出的bug ①: MineFragment跳转到Login界面使用StartActivityForResult,而不是StartActivity: @Override public void onActivityResult(int requestCode, int resultCode, Intent data) { if (data != n