怎么把jsp页面上的时间数据用servlet更新到sql数据库里
String dateStr = requestgetParameter("时间参数名");
从text里取出来的时间是字符串型的,需要转化为java中的Date对象,有很多方法,其中一种比较简单:
String dateStr = "2010-08-02";
javasqlDate date = javasqlDatevalueOf(dateStr);
(其实建议将数据库中的时间字段改成varchar型简单些)
正如楼上所说的,js只能操作客户端的东西。在客户端时刻显示并更新服务器的时间应该是不可能的,因为会由于网络延迟的因素使得时间不精确。
打个比方,可以使用ajax每秒钟获取服务器的时间,然后再显示出来,但是可能这个用户的网络延迟比较厉害,他请求的这个时间过了两三秒才返回给客户端,那这样更新时间就不精确了。
也可以这样,第一次从服务器那里获取时间,然后再客户端用js,每秒累加数,就是以获取服务器的那个时间为起掉,用客户端代码每秒累加这个时间
jsp页面 使用jstl标签 EL表达式
<fmt:formatDate pattern="yyyy/MM/dd HH:mm:ss" value="${date}" />
var d, s = "";
var c = ":";
d = new Date();
s += dgetYear()+ "/";
s += (dgetMonth() + 1) + "/";
s += dgetDate() + " ";
s += dgetHours() + c;
s += dgetMinutes() + c;
s += dgetSeconds() + c;
s += dgetMilliseconds();
alert(s);
session默认的时间是30分钟。 你可以设置更长~~
你上传文件 比如很大 2个G,再上传的过程中,它也是再和服务器不断的做交互。读。。写。。读。。写
所以你根本不用考虑超时的问题。
这个session的时间 意思是 如果不设置默认30分钟内 不和 服务器做交互 你的session里的东西就没了。假设 你12点和服务器做了一次交互,登陆。然后12点28分 你又做了一次交互,查询一些东西。那么这个session的时间将被重置从0计算。。。然后继续累计30分钟。。这样子 呵呵~~~~
所以你根本不用考虑 超时 的问题~~
不过如果 网速跟不上 。数据丢失 可能会产生一些怪问题。。。这个不好说了。
outprintln("<script type='text/javascript'>alert('" +mDateTime +"')</script>")
加上 ' '
0条评论