• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    登录超时给出提示跳到登录页面(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!=nullmsg.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登录页面 后台asp.net
    • Ajax异步方式实现登录与验证
    • ajax 实现微信网页授权登录的方法
    • ajax实现登录功能
    • Ajax实现带有验证码的局部刷新登录界面
    • div弹出层的ajax登录(Jquery版+c#)
    • Ajax Session失效跳转登录页面的方法
    • ajax编写简单的登录页面
    • Ajax实现漂亮、安全的登录界面
    • Ajax实现登录案例
    上一篇:AJAX和JSP混合使用方法实例
    下一篇:聊一聊Ajax的优缺点
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯

    时间:9:00-21:00 (节假日不休)

    地址:江苏信息产业基地11号楼四层

    《增值电信业务经营许可证》 苏B2-20120278

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