iis服务器助手广告广告
返回顶部
首页 > 资讯 > 前端开发 > node.js >如何处理web登录超时给出提示跳到登录页面的问题
  • 754
分享到

如何处理web登录超时给出提示跳到登录页面的问题

2024-04-02 19:04:59 754人浏览 独家记忆
摘要

本篇文章为大家展示了如何处理WEB登录超时给出提示跳到登录页面的问题,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。一、一般页面登录超时验证,可以用过滤器filter

本篇文章为大家展示了如何处理WEB登录超时给出提示跳到登录页面的问题,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。

一、一般页面登录超时验证,可以用过滤器filter,如下:

package com.lg.filter;
import java.io.IOException;
import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.Http.httpservletRequest;
import javax.servlet.http.HttpServletResponse;
import com.lg.func.MyFunc;
public class LoginFilter implements Filter{
public void destroy() {
}
public void doFilter(ServletRequest request, ServletResponse response,
FilterChain chain) throws ServletException, IOException {
HttpServletRequest request1=(HttpServletRequest)request;
HttpServletResponse response1=(HttpServletResponse)response;
chain.doFilter(request, response);//放行。让其走到下个链或目标资源中
String url=request1.getServletPath();
System.out.println("Demo1过滤前"+url);
MyFunc myFunc = new MyFunc(request1,response1);
System.out.println("Demo1过滤前"+url.startsWith("/index/"));
if(myFunc.checkLogin2()&&!url.startsWith("/index/")){
response1.sendRedirect("/index_login.html");
}
System.out.println("Demo1过滤后");
}
public void init(FilterConfig arg0) throws ServletException {
// TODO Auto-generated method stub
System.out.println("===========init========过滤后");
}
}

web.xml配置

<filter>
<filter-name>Demo1Filter</filter-name>
<filter-class>com.lg.filter.LoginFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>Demo1Filter</filter-name>
<url-pattern>*.jsp</url-pattern>
</filter-mapping>

二、ajax提交

提交页面,我的页面提示弹出框架用的asyncBox,可以改成其他的跳转

$.ajax({
type: "post",
url:"a.jsp",
async:false,//同步
data:{"name":"fdgh"}
success:function(msg){
//checkLogin2(msg)判断是否登录超时,超时返回false,跳到登录页面
if(checkLogin2(msg)){
var obj=eval('('+msg+')');
if(obj.result.indexOf("suc")>-1){
alert("成功");
}else{
alert("失败");
}
}
});
//是否登录超时,超时返回false,跳到登录页面
function checkLogin2(msg){
if(msg!=null&&msg.length>0){
if(msg.indexOf("DOCTYPE")>-1){
checkLogin();
return false;
}
}
return true;
}
function checkLogin(){
if(window.top != window.self){
top.asyncbox.alert('登录超时,请重新登录', '提示', function(action){ 
top.location.href='/login.jsp';
}); 
}else{
asyncbox.alert('登录超时,请重新登录', '提示', function(action){
window.location.href='/login.jsp';
}); 
}
}

后台:

1.处理数据前

if(checkLogin())return; 
//检查登录,session过期,或者未登录,自动跳转
public boolean checkLogin() throws IOException{
boolean result = false;
String html = "";
NativeObject u = SessionMng.getCurrentUser(request);//检验是否登录超时
if (u == null){
html = "<!DOCTYPE HTML PUBLIC '-//W3C//DTD HTML 4.01 Transitional//EN' 'http://www.w3.org/TR/html4/loose.dtd'>\n" +
"<script type='text/javascript' src='/admin/js/Jquery.min.js'></script>\n" +
"<script type='text/javascript' src='/admin/js/common.js'></script>\n" + 
"<script type='text/javascript' src='/admin/js/dialog/asyncbox.js'></script>\n" + 
"<script language=javascript>checkLogin();</script>\n";
response.getWriter().println(html); 
result = true;
}
return result;
}

三、异步导入excel

用AjaxUpload.js导入excel功能

前端提交页面参考上面的;

后台处理页面:

if(!isLogin()){
response.getWriter().print("DOCTYPE");
return ;
}
//是否登录
public boolean isLogin(){
NativeObject u = SessionMng.getCurrentUser(request);
if (u != null){
return true;
}else{
return false;
}
}

四。用window.open导出excel文件

后台同二

前端导出页面

function export_excel(){ 
$.ajax({
type: "post",
url:"/admin/inc/checkLogin.jsp",
async:false,//同步
success:function(msg){
if(checkLogin2(msg)){
window.open("perfm_excel.jsp?"+$('#FORM1').serialize());
}
}
}); 
login.jsp
<%@ page contentType="text/html; charset=utf-8"%>
<%
//========================当前登陆用户信息========================================
if(checkLogin())return;
%>

上述内容就是如何处理web登录超时给出提示跳到登录页面的问题,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注编程网node.js频道。

--结束END--

本文标题: 如何处理web登录超时给出提示跳到登录页面的问题

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

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

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

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

下载Word文档
猜你喜欢
  • 如何处理web登录超时给出提示跳到登录页面的问题
    本篇文章为大家展示了如何处理web登录超时给出提示跳到登录页面的问题,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。一、一般页面登录超时验证,可以用过滤器filter...
    99+
    2022-10-19
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作