php ajax js 登陆页面跳转页面,AJAX_登录超时给出提示跳到登录页面(ajax、导入、导出),一、一般页面登录超时验证, - phpStudy...

登录超时给出提示跳到登录页面(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配置

Demo1Filter

com.lg.filter.LoginFilter

Demo1Filter

*.jsp

二、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 = "\n" +

"\n" +

"\n" +

"\n" +

"\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

//========================当前登陆用户信息========================================

if(checkLogin())return;

%>

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

ComboBox 和 DateField 在IE下消失的解决方法

在ASP.NET 2.0中操作数据之三十七:DataList批量更新

JavaScript如何实现对数字保留两位小数一位自动补零

Win10最新预览版将预装《糖果粉碎传奇》等游戏

学习php设计模式 php实现观察者模式(Observer)

Android 按指定大小读取图片的实例

微软:请不要在Win 10系统中使用第三方“隐私保护”工具

浅谈Android应用的内存优化及Handler的内存泄漏问题

mysql 修改密码和设置允许远程登录

JS小功能(offsetLeft实现图片滚动效果)实例代码

Android顶栏定时推送消息

解决RecyclerView无法onItemClick问题的两种方法

VC实现ODBC数据库操作实例解析

深入解析C#编程中泛型委托的使用

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值