2 c0ol jie c0ol_jie 于 2016.03.16 16:05 提问

java登录超时回到登录页面

java登录超时回到登录页面

有没有实现此功能的思想呢? 或者有demo 代码最好了 ,谢谢~

4个回答

u013772876
u013772876   2016.03.16 16:25

首先需要在web.xml中设置项目中session超时时间,通常都是半小时:

 <session-config><session-timeout>30</session-timeout></session-config>;

之后设置监听器(Linstener),用来监听登录时候的用户名和密码session是否还存活,如果不存活的话,直接跳转到登录页面。
1、不变地址栏:request.getRequestDispatcher("url").forward(request, response);
2、改变地址栏:response.sendRedirect("url");

c0ol_jie
c0ol_jie 监听器内的方法并没有传递 request response 参数
2 年多之前 回复
c0ol_jie
c0ol_jie 监听器内的方法并没有传递 request response 参数
2 年多之前 回复
f445239051
f445239051   2016.03.16 16:27

用SpringSecurity试试

boy_vansun
boy_vansun   2016.03.16 17:20

这个不适合用监听器来做的,应该用过滤器或者springmvc的拦截器。
在过滤器或者拦截器里配置哪些url需要用户登录,然后当session已经过期(查询不到用户信息)的情况下,用户再访问这些页面的话,就给他重定向到登录页面。当然ajax请求服务端是没法重定向的,这时候要给前端返回一个状态码,指示由前端js进行重定向

fubo1990
fubo1990   2016.03.17 15:57

servlet或Struts2或springMVC的项目,并且已经学习了Filter。
思路:
首先在你登录的代码中,登录成功以后把该用户放到session中,然后编写filter,该过滤器功能是验证是否登录或者登录失效。
接下来配置过滤的地址。所有配了的地址访问资源以前都会先进过滤器。只有通过过滤器验证才可以正常访问,否则调到登录页面。
filter的实现步骤。
1.定义一个类实现javax.servlet.Filter类。并且重写doFilter().该方法中就是你要进行编写的核心代码(验证登录的代码)。
2.配置filter.及在web.xml中
配置如下:

LoginFilter 解释:LoginFilter是你给过滤器起的名字
com.shcce.core.fiter.LoginFilter 解释:com.shcce.core.fiter.LoginFilter为你定义的过滤器类的全名


LoginFilter 解释LoginFilter该名字必须与上面你定义的过滤器名字一致。
/user/* 解释:您配置的拦截路径,这个路基的意思是user包下的所有路径。
例如:www.baidu.com/user/index.html 就会被过滤。

希望对你有用,如果还想有更多了解可以私信我413159383(qq)

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
Struts2的Session超时返回登录页面
session超时或者失效时返回到登陆页面重新登陆,前台使用的easyui框架
asp.net判定session超时跳回登录页
asp.net判定session超时跳回登录页,并把当前错误页保存,登录成功后跳回错误页
页面超时跳转到登录页面被框架页面嵌套的问题
我们在做很多基于frame的页面时,一个frame里面的链接内容在另外一个frame中显示,如果页面超时我们在后台的处理基本上都是重定向到登录页面,那么此时这个登录页面就会显示在一个frame中,但是我们需要的效果是整个页面显示登录页,就需要一个很好的解决方案。我们要让页面显示在整个浏览器,需要使用js代码判断,即需要执行如下代码。 if(window.top.location.href!=lo
网页长时间不操作自动回到登陆页面
123412 var maxTime = 5; // seconds var time = maxTime; document.body.addEventListener("mousemove", function() { time = maxTime; // reset }, false); var intervalId = setInterval(function
关于超时登录重定向到登录页面
前提:PHP项目没用框架写 session过期的时候,在入口脚本中重定向到登录页面: if(/*判断session过期条件*/){ header('Location:./index.php'); exit; } 这里要注意几点: 1、location和:之间不能有空格,否则会出错。 2、在用header前不能有任何的输出,包括include的页面中标签
jQuery easyui Session 超时返回登录页面
jQuery easyui Session 超时返回登录页面
struts2 session过期或无操作时自动返回登录
在server.xml中定义context时采用如下定义:   defaultSessionTimeOut="3600" isWARExpanded="true"      isWARValidated="false" isInvokerEnabled="true"      isWorkDirPersistent="false"/> 2. 在web.xml中通过参数指
【原创】iframe页的登录失效时,如何直接父页面刷新到登录页
今天一个网友“乁乁辉”在群里提到一个问题,说登录超时后返回登录页会在iframe里打开,并且给了解决的js代码。其实我之前也知道有这个问题,问题如下图所示:但是倒也没直接就去解决,感觉这个问题倒还好,不是那么严重,就没花精力去处理。正好这位热心的网友给了我解决的代码了,我想那就直接用上吧,网友的代码如下:其实就是一个iframe父子窗口判断操作的代码了,当判断出来登录失效时执行一下。本来问题这样就...
(会话超时)配置java过滤器LoginFilter跳转登录界面
一、说明1、网站系统登录,从安全的角度来考虑,登录会话超时,再次页面会退到登录界面。2、本文配置如何通过过滤器(Filter)实现会话超时(如30分钟)跳转到登录页面,分LoginFilter.java类和web.xml配置两部分。二、实现方法1、过滤器类LoginFilter.javapackage com.sale.filter; import java.io.IOException; ...
Spring mvc 框架下实现页面过期时,登录后返回原页面
花了好多天时间在做这个功能,一直没找到合适的实现。知道是用拦截器,却一直苦于不能传递上一个页面的地址。 有方法用session,但是记录在session里面,在用户登录成功后,session原来的变量已经没有了。 后来发现了一个正确的实现方式,链接:http://tianmaying.com/tutorial/spring-mvc-interceptor 我的实现方式也是参考该链接实