登录超时给出提示跳到登录页面(ajax、导入、导出)_AJAX相关

一、一般页面登录超时验证,可以用过滤器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;
%> 

以上内容给大家介绍了登录超时给出提示跳到登录页面(ajax、导入、导出)的相关知识,希望对大家有所帮助!

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索登录超时
ajax超时
ajax 超时设置、ajax请求超时处理、ajax 超时、ajax默认超时时间、jquery ajax 超时,以便于您获取更多的相关知识。

时间: 2024-10-29 01:35:48

登录超时给出提示跳到登录页面(ajax、导入、导出)_AJAX相关的相关文章

.net判断用户未登录,弹出提示“未登录,请登录”,但不加载网页

问题描述 .net判断用户未登录,弹出提示"未登录,请登录",但不加载网页要求是必须弹出提示框,提示用户需要登录,但不加载网页现在是提示了登录,就会加载网页,这样别人就能看到网页的内容用Response.End();提示框就不会弹出请高手指定哈 解决方案 解决方案二:Page.ClientScript.RegisterStartupScript(this.GetType(),"out","<script>alert('登录后再访问!');win

环信开启自动登录之后,每次登录都会弹出提示框,请问怎么关闭

问题描述 环信开启自动登录之后,每次登录都会弹出提示框,请问怎么关闭 解决方案 Android还是ios?   什么提示框,可以否贴下解决方案二: 解决方案三:// 自动登录开始回调-(void)willAutoLoginWithInfo:(NSDictionary *)loginInfo error:(EMError *)error{// 自动登录结束回调-(void)didAutoLoginWithInfo:(NSDictionary *)loginInfo error:(EMError *

使用ajax技术实现txt弹出在页面上的方法_AJAX相关

使用ajax技术实现点击按钮,将TXT文本里的内容通过弹出框显示到页面上 /*事件会在页面加载完成后触发.*/ <script> window.onload = function(){ /*获取按钮的id*/ var oBth=document.getElementById('btn'); /*点击按钮触发的函数*// oBth.onclick = function(){ /*打开浏览器*/ var xhr = new XMLHttpRequest(); /*在地址栏输入地址,这里的1txt代

AJAX显示加载中并弹出图层遮挡页面的实现示例_AJAX相关

前言 相信每位开发者都应该有所了解,当用户发出AJAX请求时,如果长时间处于请求阶段,而没有给出用户回应,会给用户造成错觉,导致用户以为我们的系统"没反应"了.这从某方面来讲是一种不友好. 甚至有的时候,用户看不到想要的结果,就会不停的请求,这样会发生意想不到的后果. 所以,当发出AJAX请求时,我们给出一定的措施,保证系统的正确运行和良好的用户体验. 在这里,我使用的是:显示加载中图片,并弹出一个图层,使用户不能再次发出请求. 实现方法 HTML部分: <div id=&quo

ajax动态为a标签href赋值不执行跳转的原因分析及解决_AJAX相关

由于一中考评系统要加入一个新的功能"调查问卷",我想沿用别人做好的调查问卷,用别人的有一个好处就是:人家做的专业,界面美化等非常人性化,但是它需要你每次设置完调查问卷后发布一下网址,客户端访问的每次都是变动的地址. 客户端每次点击"调查问卷",就会跳转到相应页面:  点击"调查问卷"即进入调查问卷页面:  我使用a 标签,每次访问管理员提交的"调查问卷" 复制代码 代码如下: <li><a href=&quo

方法-android用户登录异机退出提示

问题描述 android用户登录异机退出提示 A用户登录系统,B用户用A的帐号也登录系统,A用户弹出退出系统提示,这种技术实现方法叫什么?逻辑思路是怎么样子的?最好有个demo.在线等!!!! 解决方案 不能沉不能沉不能沉不能沉 解决方案二: 这个服务器端会做处理. A登录123这个账号的时候数据库中会有记录,这时B登录123这个账号了,在保存登录记录的时候发现这个这账号已经被A登录了.所以发送一个通知给A,告知A当前登录的账号在另外一个地方正在登录. 具体的实习技术叫什么不知道,但以前自己就是

Ajax加载外部页面弹出层效果实现方法_AJAX相关

本文实例讲述了Ajax加载外部页面弹出层效果实现方法.分享给大家供大家参考.具体实现方法如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml">

webix+springmvc session超时跳转登录页面_javascript技巧

引言 最近做项目,发现ajax请求不能在服务器中直接重定向到登录页面.查了些资料发现jquery的ajax请求有人给出了方法.但是webix的ajax请求和jquery的有些区别.这里模仿jquery的处理方式实现webix的ajax请求session超时跳转. 具体的做法: 1.查看webix.js源码发现webix.ajax只有请求前的监听函数 "onBeforeAjax", 要做到获取返回状态跳转登录页面必须要有个返回的监听函数,但是源码没有.所以我修改了下源码,加了个返回的监听

我的迅雷7.9任何账号都提示“登录超时,请重试”怎么回事

为什么我的迅雷7.9任何账号都提示"登录超时,请重试"    求路过的大神支招: 一.核实问题出现时间. 1.如是突然出现的情况,您可先测试下自己跟旁边的人是否出现同样的情况.(条件允许之下) 2.建议重新启动迅雷,尝试下. 3.建议关闭杀软.防火墙.360等流量监控软件. 4.拔了网线或不连接路由器,重新连接网络晚点再进行尝试. 注意:突然登录不了,不是长期登录不了,这个情况一般是短暂的网络异常,优先建议重新启动网络后晚点尝试. 二.删除ver1文件或重新安装尝试. 1.到电脑上这里