中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何處理web登錄超時給出提示跳到登錄頁面的問題

發布時間:2021-09-15 17:11:11 來源:億速云 閱讀:364 作者:柒染 欄目:web開發

本篇文章為大家展示了如何處理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登錄超時給出提示跳到登錄頁面的問題,你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

web
AI

浠水县| 墨江| 达孜县| 辽阳县| 石狮市| 潍坊市| 福鼎市| 建水县| 舞钢市| 苗栗县| 泗洪县| 冕宁县| 陇南市| 余姚市| 邹城市| 杭州市| 张家港市| 绥江县| 金山区| 大埔县| 屯留县| 江阴市| 沁阳市| 报价| 景谷| 溆浦县| 湖州市| 万全县| 泽库县| 大竹县| 定陶县| 柳州市| 福鼎市| 普兰县| 济南市| 乡宁县| 博乐市| 临武县| 牡丹江市| 黄龙县| 微山县|