java web页面,关闭浏览器,让一个操作继续执行?

比如我要提取报表,需要好几个小时,我点击“提取”之后,让程序自己执行,然后我关闭浏览器,程序仍旧能正常提取数据

这要看你的程序是客户端还是服务器端
如果是客户端执行,也就是说是浏览器去执行,那关闭之后是不能继续执行了。
比如一个客户端的分页,这里假设分页的效率比较低,分页执行可能需要5秒,如果在这5秒内你关闭浏览器,这个分页就没有执行成功了,这种是显而易见的情况

如果是服务器端,还要看执行完成后是不是要有返回结果
服务器端的程序执行起来是没有问题,只要开始运行,跟你的浏览器直接是没有关系了,直到结果返回。我们知道,服务器端和客户端是用sessionID来关联的,发送一个请求的时候带上了这个参数,返回结果的时候根据这个ID返回到相应的客户端去。一般的,浏览器每打开一次,就会有一个sessionID,如果你的操作在服务器端运行,如题目例子中,此刻你关闭浏览器,对这个程序运行是没有影响的,它还会继续执行。但是如果运行完要返回一些结果的时候,还是会按之前的sessionID去返回,但是此时无论你怎么打开网页,都不可能找到跟之前一样的sessionID,换句话说,再也拿不到服务器端的返回结果

总结来说,服务器端的程序在浏览器关闭后能继续运行,但是得不到返回结果。

不需要返回结果的应用例子举一个:页面上有个按钮,点击之后发送请求至服务端,服务端执行数据备份操作。数据备份要数小时,点完按钮可以关闭浏览器
温馨提示:内容为网友见解,仅供参考
第1个回答  2012-06-19
可以用js做,在<body onunload="function()">function函数可以使一个ajax在后台运行操作数据库
第2个回答  2012-06-19
这个只能靠服务器端缓存来完成了把
用Hibernate实现
第3个回答  2012-06-19
如果是这样的话,可以单开出来一个线程试试
第4个回答  2012-06-19
这个应该是有的,希望楼主得到后分享!期待中……
相似回答