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

比如我要提取报表,需要好几个小时,我点击“提取”之后,让程序自己执行,然后我关闭浏览器,程序仍旧能正常提取数据... 比如我要提取报表,需要好几个小时,我点击“提取”之后,让程序自己执行,然后我关闭浏览器,程序仍旧能正常提取数据 展开
 我来答
haowujj
推荐于2017-11-25 · TA获得超过1207个赞
知道小有建树答主
回答量:177
采纳率:100%
帮助的人:263万
展开全部
这要看你的程序是客户端还是服务器端
如果是客户端执行,也就是说是浏览器去执行,那关闭之后是不能继续执行了。
比如一个客户端的分页,这里假设分页的效率比较低,分页执行可能需要5秒,如果在这5秒内你关闭浏览器,这个分页就没有执行成功了,这种是显而易见的情况

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

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

不需要返回结果的应用例子举一个:页面上有个按钮,点击之后发送请求至服务端,服务端执行数据备份操作。数据备份要数小时,点完按钮可以关闭浏览器
百度网友45a8db1
2012-06-19
知道答主
回答量:37
采纳率:0%
帮助的人:21.4万
展开全部
可以用js做,在<body onunload="function()">function函数可以使一个ajax在后台运行操作数据库
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
没有响应m2
2012-06-19 · TA获得超过8387个赞
知道大有可为答主
回答量:7579
采纳率:33%
帮助的人:3497万
展开全部
这个只能靠服务器端缓存来完成了把
用Hibernate实现
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
程序员的窘境
2012-06-19 · 超过13用户采纳过TA的回答
知道答主
回答量:120
采纳率:0%
帮助的人:53.3万
展开全部
如果是这样的话,可以单开出来一个线程试试
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
282518588
2012-06-19 · TA获得超过688个赞
知道小有建树答主
回答量:1383
采纳率:50%
帮助的人:380万
展开全部
这个应该是有的,希望楼主得到后分享!期待中……
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 3条折叠回答
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式