`
willvvv
  • 浏览: 334181 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

JSP动态显示服务器时间和客户端时间

阅读更多

server-time.jsp内容如下:

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <%
String path = request.getContextPath(); String basePath =
request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>My JSP 'test.jsp' starting page</title>
<script language="javascript" type="text/javascript">
	//因程序执行耗费时间,所以时间并不十分准确,误差大约在2000毫秒以下
	var xmlHttp = false;
	//获取服务器时间
	try {
		xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
	} catch (e) {
		try {
			xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
		} catch (e2) {
			xmlHttp = false;
		}
	}

	if (!xmlHttp && typeof XMLHttpRequest != 'undefined') {
		xmlHttp = new XMLHttpRequest();
	}

	xmlHttp.open("GET", "null.txt", false);
	xmlHttp.setRequestHeader("Range", "bytes=-1");
	xmlHttp.send(null);

	severtime = new Date(xmlHttp.getResponseHeader("Date"));

	//获取服务器日期
	var year = severtime.getFullYear();
	var month = severtime.getMonth() + 1;
	var date = severtime.getDate();
	//获取服务器时间
	var hour = severtime.getHours();
	var minu = severtime.getMinutes();
	var seco = severtime.getSeconds();
	//获取客户端时间
	localtime = new Date();
	//取得时间差
	var jtime = Math.abs(localtime.getTime() - severtime.getTime());
	var jdate = jtime / (24 * 60 * 60 * 1000);
	var jhour = jtime % (24 * 60 * 60 * 1000) / (60 * 60 * 1000);
	var jminu = jtime % (24 * 60 * 60 * 1000) % (60 * 60 * 1000) / (60 * 1000);
	var jsecond = jtime % (24 * 60 * 60 * 1000) % (60 * 60 * 1000)
			% (60 * 1000) / 1000;

	//格式化输出客户端时间
	function getClientTime() {
		localtime = new Date();
		var cyear = localtime.getFullYear();
		var cmonth = localtime.getMonth() + 1;
		var cdate = localtime.getDate();
		var chour = localtime.getHours();
		var cminu = localtime.getMinutes();
		var cseco = localtime.getSeconds();

		ccyear = addZero(cyear);
		ccmonth = addZero(cmonth);
		ccdate = addZero(cdate);
		cchour = addZero(chour);
		ccminu = addZero(cminu);
		ccseco = addZero(cseco);

		cinnerdata = "当前客户端时间:";
		document.getElementById("clienttime").innerHTML = cinnerdata + ccyear
				+ "-" + ccmonth + "-" + ccdate + " " + cchour + ":" + ccminu
				+ ":" + ccseco;
		document.getElementById('xctime').innerHTML = "时间相差:"
				+ Math.round(jdate) + "天" + Math.round(jhour) + "小时"
				+ Math.round(jminu) + "分钟" + jsecond + "秒 总计:" + jtime + "毫秒";
	}
	//格式化输出服务器时间
	function getSeverTime() {
		seco++;
		if (seco == 60) {
			minu += 1;
			seco = 0;
		}
		if (minu == 60) {
			hour += 1;
			minu = 0;
		}
		if (hour == 24) {
			date += 1;
			hour = 0;
		}
		//日期处理
		if (month == 1 || month == 3 || month == 5 || month == 7 || month == 8
				|| month == 10 || month == 12) {
			if (date == 32) {
				date = 1;
				month += 1;
			}
		} else if (month == 4 || month == 6 || month == 9 || month == 11) {
			if (date == 31) {
				date = 1;
				month += 1;
			}
		} else if (month == 2) {
			if (year % 4 == 0 && year % 100 != 0) {//闰年处理
				if (date == 29) {
					date = 1;
					month += 1;
				}
			} else {
				if (date == 28) {
					date = 1;
					month += 1;
				}
			}
		}
		if (month == 13) {
			year += 1;
			month = 1;
		}
		sseco = addZero(seco);
		sminu = addZero(minu);
		shour = addZero(hour);
		sdate = addZero(date);
		smonth = addZero(month);
		syear = year;

		innerdata = "当前服务器时间:";
		document.getElementById("servertime").innerHTML = innerdata + syear
				+ "-" + smonth + "-" + sdate + " " + shour + ":" + sminu + ":"
				+ sseco;
		setTimeout("getSeverTime()", 1000);
		setTimeout("getClientTime()", 100);
	}

	function addZero(num) {
		num = Math.floor(num);
		return ((num <= 9) ? ("0" + num) : num);
	}
</script>
</head>
<body onload="getSeverTime();">
	<p id="servertime"></p>
	<p id="clienttime"></p>
	<p id="xctime"></p>
</body>
</html>

 

运行效果如图:


 

另外一个JS效果的动态显示当前客户端时间client-time.html,可以通过修改客户端时间查看这两种的区别

<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>当前日期</title>
当前时间:
<div  id="time" style="color:red;">
<script>
document.getElementById('time').innerHTML=new Date().toLocaleString()+' 星期'+'日一二三四五六'.charAt(new Date().getDay());
setInterval("document.getElementById('time').innerHTML=new Date().toLocaleString()+' 星期'+'日一二三四五六'.charAt(new Date().getDay());",1000);
</script>
</div>
</body>
</html>
 

 

  • 大小: 6.1 KB
分享到:
评论
1 楼 zhengqiweiyi 2015-10-26  
请问这里的客户端和服务器是指同一台电脑上的吗?

相关推荐

    动态显示JSP服务器内存的Ajax程序 图像版_systemjc

    总的来说,"动态显示JSP服务器内存的Ajax程序 图像版_systemjc"是一个结合了JSP、Ajax和图形化展示的系统监控解决方案,对于监控和优化服务器性能具有重要意义。通过这种技术,IT管理员可以实时了解服务器内存状态,...

    jsp 邮件客户端

    【jsp 邮件客户端】是一个基于JavaMail和JSP技术构建的应用,它允许用户进行邮件的收发,并且具备富文本显示和搜索功能。在本文中,我们将深入探讨这个客户端实现的核心技术和涉及的关键概念。 首先,让我们了解**...

    JSP动态时间

    下面是一个简单的JSP页面示例,展示了如何动态显示当前的日期和时间: ```jsp ; charset=UTF-8" pageEncoding="UTF-8"%&gt; &lt;!DOCTYPE html&gt; 动态时间显示 Date now = new Date(); SimpleDateFormat ...

    jsp Response对象页面重定向、时间的动态显示.docx

    ### JSP Response对象详解:页面重定向与...通过合理利用`Response` 对象提供的方法,可以实现多种Web开发中的常见需求,如页面重定向和时间的动态显示等。这些技术对于构建用户友好且功能丰富的Web应用程序至关重要。

    jsp源码其他类别动态显示JSP服务器内存的Ajax程序图像版-systemjc

    ### jsp源码其他类别动态显示JSP服务器内存的Ajax程序图像版-systemjc #### 概述 在当今快速发展的互联网技术中,JSP(JavaServer Pages)作为一项基于Java的技术,广泛应用于Web应用程序开发中。它允许网页制作者...

    动态显示JSP服务器内存的Ajax程序 图像版-systemjc

    在IT行业中,动态显示JSP服务器内存的Ajax程序是一个常见的需求,特别是在监控系统性能和优化资源使用时。本文将深入探讨Ajax技术、Java JSP以及如何结合两者来实现这一功能。 Ajax(Asynchronous JavaScript and ...

    动态显示JSP服务器内存的Ajax程序 图像版

    "动态显示JSP服务器内存的Ajax程序 图像版_systemjc",这个文件名可能包含项目的核心代码或资源文件,"systemjc"可能是项目或组件的特定命名,可能与系统监控(system)和Java客户端(jc)有关。 【知识点详解】 1...

    动态显示JSP服务器内存的Ajax程序 图像版-systemjc.zip

    描述中的“动态显示JSP服务器内存的Ajax程序 图像版_systemjc.zip”进一步确认了这个项目的核心功能,即以图像形式动态显示服务器内存信息。这可能是一个交互式的Web应用,用户可以通过浏览器查看内存使用情况,而...

    关于JSP的时间显示

    在`GetTime()`函数中,使用了`new Date()`创建了一个表示当前日期和时间的对象。然后通过`getHours()`, `getMinutes()`, `getSeconds()`等方法获取了当前的时间。这里还涉及到一些格式化处理,比如当小时、分钟或秒...

    动态显示JSP服务器内存的Ajax程序 图像版.zip

    这个压缩包文件“动态显示JSP服务器内存的Ajax程序 图像版.zip”包含了一个使用Ajax技术来实时展示JSP服务器内存状况的程序。Ajax(Asynchronous JavaScript and XML)是一种在无需刷新整个网页的情况下,能够更新...

    JSP源码——动态显示JSP服务器内存的Ajax程序 图像版_systemjc.zip

    【JSP源码——动态显示JSP服务器内存的Ajax程序 图像版_systemjc.zip】是一个包含JSP和Ajax技术的示例项目,旨在通过图形化的方式动态展示JSP服务器的内存使用情况。在这个项目中,开发者可以学习到如何利用JSP、...

    用不同颜色来显示时间(JSP)

    要实现颜色变化的时间显示,我们需要结合JavaScript进行前端交互,同时利用Java的日期和时间处理能力。 1. **JavaScript时间获取与处理**: - JavaScript的`Date对象`是处理时间的关键。我们可以使用`new Date()`...

    [其他类别]动态显示JSP服务器内存的Ajax程序 图像版_systemjc.zip

    标题提及的是一个使用Ajax技术的JSP程序,目的是动态显示服务器的内存信息。"图像版"表明这个程序可能通过图表或者可视化的方式展示内存使用情况,增加了用户体验的直观性。"systemjc"可能是这个程序或者相关类库的...

    动态显示JSP服务器内存的Ajax程序图像版

    总的来说,"动态显示JSP服务器内存的Ajax程序图像版"项目结合了Ajax、JSP和前端图形库,实现了实时、交互式的服务器内存监控,为管理员提供了一个便捷的工具来监控和优化服务器性能。这种技术的应用不仅限于内存监测...

    学校实训JSP项目-[其他类别]动态显示JSP服务器内存的Ajax程序 图像版.zip

    在动态显示服务器内存的场景下,Ajax扮演了关键角色。通过发送异步请求,客户端(通常是浏览器)可以向服务器请求内存数据,并在接收到响应后,用JavaScript更新页面上的图表,实现数据的实时显示。 接下来,HTML...

    动态显示JSP服务器内存的Ajax程序.Rar

    【描述】该程序的核心功能是监测和显示服务器端JSP应用程序的内存状态,通过动态更新界面,用户可以随时了解服务器的内存占用情况,这对于监控和优化应用程序性能至关重要。这通常用于调试、性能调优或监控服务器...

    [其他类别]动态显示JSP服务器内存的Ajax程序 图像版_systemjc.rar

    描述中的内容与标题一致,都是关于一个基于Ajax的JSP服务器内存动态显示程序,而且特别强调了"图像版",这可能意味着该程序通过图形化界面提供友好的用户体验,使用户能够更直观地查看和理解服务器内存的变化情况。...

    web服务器客户端实例

    本实验"Web服务器客户端实例"旨在帮助你理解Web服务器的工作原理以及客户端如何与之交互。 首先,让我们深入了解Web服务器的基本概念。Web服务器是一种软件程序,如Apache、Nginx或Microsoft IIS,它们运行在服务器...

    检测JSP服务器内存的Ajax程序源码

    为了实现动态显示,可以设置定时器定期调用Ajax函数,从而每隔一段时间自动更新内存信息。 通过学习和理解这个Ajax程序源码,开发者不仅可以掌握服务器内存监控的技巧,还能深入理解Ajax通信机制、JSON数据交换以及...

Global site tag (gtag.js) - Google Analytics