로그 인 시간 초과 알림 을 로그 인 페이지 로 건 너 뛰 기(ajax,가 져 오기,내 보 내기)

1.일반 페이지 로그 인 시간 초과 검증 은 필터 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========   ");
}
}
웹.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> 
2.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'>
" + "<script type='text/javascript' src='/admin/js/jquery.min.js'></script>
" + "<script type='text/javascript' src='/admin/js/common.js'></script>
" + "<script type='text/javascript' src='/admin/js/dialog/asyncbox.js'></script>
" + "<script language=javascript>checkLogin();</script>
"; response.getWriter().println(html); result = true; } return result; }
3.비동기 가 져 오기 excel
Ajax Upload.js 로 엑셀 기능 가 져 오기
전단 제출 페이지 참조 위;
배경 처리 페이지:

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 으로 엑셀 파일 내 보 내기
백 스테이지
전단 내 보 내기 페이지

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,가 져 오기,내 보 내기)로 넘 어 가 는 지식 을 소개 합 니 다.도움 이 되 셨 으 면 좋 겠 습 니 다!

좋은 웹페이지 즐겨찾기