Java Spring MVC实时调度任务和更新基于jsp的视图
我想要实现的是使用SpringMVCJava 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代码应该有一些方法,
@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吗?它会影响我的网页吗?访问者的浏览器会冻结吗?如果您创建自定义事件,您可以对工作线程处理或使用现有的解决方案,您可能会使其成为事件驱动的。