apacheをアクセスとして使用する場合、バックエンドウェブアプリケーションが利用可能かどうかのページ制御


もっと読む
apacheをフロントエンドとしてアクセスし、バックエンドをtomcatによるwebアプリケーションに移行する場合、システムのアップグレードまたは他の理由で、ある時間帯のバックエンドwebアプリケーションが使えない場合、ユーザシステムが一時的に使えないことを友好的に通知するために、index.ページでjavascriptで現在利用可能かどうか判断し、判断結果によってservice_に移行する.stop.またはwebアプリのindex.ページ.
 








	var stopFlag = false;
		
	var sysDateTime = new Date();
	
	var sysYear = sysDateTime.getFullYear();
	
	var sysMonth = sysDateTime.getMonth() + 1;
	if(sysMonth < 10){
		sysMonth = '0' + sysMonth;
	}

	var sysDate = sysDateTime.getDate();
	if(sysDate < 10){
		sysDate = '0' + sysDate;
	}
	
	var sysHour = sysDateTime.getHours();
	if(sysHour < 10){
		sysHour = '0' + sysHour;
	}
	
	var sysMinute = sysDateTime.getMinutes();
	if(sysMinute < 10){
		sysMinute = '0' + sysMinute;
	}
	
	var sysSecond = sysDateTime.getSeconds();
	if(sysSecond < 10){
		sysSecond = '0' + sysSecond;
	}
	
	var sysYmd = sysYear + '/' + sysMonth + '/' + sysDate;
	var sysHms = sysHour + ':' + sysMinute + ':' + sysSecond;
	
	if(sysYmd == '2017/01/15' && sysHms > '08:00:00'){
		stopFlag = true;
	} else if (sysYmd == '2017/01/03'){
		stopFlag = true;
	} else if(sysYmd == '2016/11/11'){
		stopFlag = true;
	} else if(sysYmd == '2017/02/12' && sysHms > '08:00:00' && sysHms < '18:30:00'){
		stopFlag = true;
	} else if( (sysYmd == '2016/10/16' && sysHms > '22:00:00') || (sysYmd == '2016/10/27' && sysHms < '20:00:00') ){
		stopFlag = true;
	} else if(sysYmd >= '2016/10/10' && sysYmd <= '2016/10/11'){
		stopFlag = true;
	} else if( (sysYmd == '2016/10/30' && sysHms > '22:00:00') || (sysYmd == '2017/01/04' && sysHms < '09:30:00') ){
		stopFlag = true;
	} else if(sysYmd >= '2016/12/30' && sysYmd <= '2016/12/31'){
		stopFlag = true;
	}

	if(stopFlag){
		document.write("<META HTTP-EQUIV='Refresh' content='0;URL=./service_stop.html'>");
	} else {
		document.write("<META HTTP-EQUIV='Refresh' content='0;URL=/application/index.html'>");
	}



Home






 
もちろん、この方案はベストな実現ではありません.例えば:
1>時間の判断はclient側で行い、clientとserver側に時差があると、ずれが発生します.
2>まずindex.に戻ってからredirectを行います.効率はあまり高くなく、ユーザー体験があまり良くないです.
3>javascriptコードが直接clientに暴露されました.安全ではありません.