Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jsp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Spring MVC实时调度任务和更新基于jsp的视图_Java_Jsp_Spring Mvc_Real Time - Fatal编程技术网

Java Spring MVC实时调度任务和更新基于jsp的视图

Java Spring MVC实时调度任务和更新基于jsp的视图,java,jsp,spring-mvc,real-time,Java,Jsp,Spring Mvc,Real Time,我想要实现的是使用SpringMVC@Scheduled注释下载csv文件,将它们保存到硬盘,然后使用JDBCTemplate将它们插入数据库。当Java方法设法将csv文件的内容插入数据库时,我想实时更新基于JSP的视图。 基本上,我的网页应该显示: 13:30:52开始13:32:30将file1.csv插入数据库 13:34:38将file2.csv插入数据库13:36:22插入 将文件3.csv导入数据库13:36:23完成!你没有更多了 下载文件 我想象我的Java代码应该有一些方法,

我想要实现的是使用SpringMVC
@Scheduled
注释下载csv文件,将它们保存到硬盘,然后使用
JDBCTemplate
将它们插入数据库。当Java方法设法将csv文件的内容插入数据库时,我想实时更新基于JSP的视图。 基本上,我的网页应该显示:

13:30:52开始
13:32:30将file1.csv插入数据库
13:34:38将file2.csv插入数据库
13:36:22插入 将文件3.csv导入数据库
13:36:23完成!你没有更多了 下载文件


我想象我的Java代码应该有一些方法,比如
afterInsertedSuccessfully()
,如果不存在数据库错误,它会将成功消息设置到模型中,JSP可以从模型中加载该消息。我如何才能实时加载此消息?是必须使用Jquery(Javascript)还是JSP视图可以在内部处理它?我不喜欢JQuery方法的原因是这种方法使用定时器轮询更新。我希望我的解决方案更像事件驱动。

异步修改HTML页面基本上有两种方法:轮询服务器,或者使用web套接字连接。HTTP不允许服务器将数据推送到客户端。是的,没错,你必须使用websockets或轮询将数据从Web服务器推送到客户端,如果你不想使用jquery,那么我建议你使用websockets,因为它们只在HTML5中实现,你可以从afterInsertedSuccessfully()直接将java代码中的数据发送到websockets当我的下载方法使用@Scheduled(fixedRate=5000)时,我会遇到阻塞IO吗?它会影响我的网页吗?访问者的浏览器会冻结吗?如果您创建自定义事件,您可以对工作线程处理或使用现有的解决方案,您可能会使其成为事件驱动的。