Mysql Spring MVC中控制器操作之间的文件数据传播

Mysql Spring MVC中控制器操作之间的文件数据传播,mysql,spring,spring-mvc,temp-tables,temporary-files,Mysql,Spring,Spring Mvc,Temp Tables,Temporary Files,我必须处理一个Excel文件,以便将一些数据插入基于web的应用程序上的Mysql数据库。我使用SpringMVC作为体系结构 问题是我需要包括一个中间步骤,用户可以在实际插入之前查看要插入的数据。因此,典型的过程是用户上传文件,然后应用程序将显示另一个包含已处理信息的网页,以及一个“应用更改”按钮,该按钮将实际获取所有这些信息并将其存储到我的数据库中 首先,为了在三个步骤中传播文件中的数据(上传的第一个页面、中间步骤页面和最终控制器操作),我只使用了一个表单,其中我将使用隐藏字段存储数据,以避

我必须处理一个Excel文件,以便将一些数据插入基于web的应用程序上的Mysql数据库。我使用SpringMVC作为体系结构

问题是我需要包括一个中间步骤,用户可以在实际插入之前查看要插入的数据。因此,典型的过程是用户上传文件,然后应用程序将显示另一个包含已处理信息的网页,以及一个“应用更改”按钮,该按钮将实际获取所有这些信息并将其存储到我的数据库中

首先,为了在三个步骤中传播文件中的数据(上传的第一个页面、中间步骤页面和最终控制器操作),我只使用了一个表单,其中我将使用隐藏字段存储数据,以避免必须对文件进行两次处理(一个用于中间步骤中的结果显示,另一个用于实际的数据存储)。问题是Excel文件包含的信息太多,以至于我的中间步骤页面过载,渲染时间太长(并且在获取参数时在控制器中进一步处理)


因此,我考虑在数据库中使用临时文件或临时关系来存储步骤之间的数据。是否有其他方法在控制器操作之间传播这些数据?我不想留下垃圾数据,也不想再次处理该文件(因为这需要相当长的时间)那么什么是最好的方法呢?

在这种情况下,如果处理时间不太长,我会选择一个临时表。首先,您可以使用最后一个表中的序列,只需发出一个“insert into select from”一旦用户在第二个屏幕中单击ok,这将是一个简单的解决方案,可以实现,所有的处理都完成了


如果加工部件“巨大”用户可以在完成这项大任务之前检查某些内容解决方案是将处理过程分为两部分,将第一个结果存储在一个临时文件中,并在此基础上实现一个屏幕。用户单击“确定”后,您可以启动一个异步任务,完成繁重的工作并在完成后清理文件。

对于这种情况下的临时表,如果处理时间不太长。首先,您可以使用最终表中的序列,只需发出“insert into select from”一旦用户在第二个屏幕中单击ok,这将是一个简单的解决方案,可以实现,所有的处理都完成了

如果加工部件“巨大”用户可以在完成这项大任务之前检查某些内容解决方案是将处理过程分成两部分,将第一个结果存储在一个临时文件中,并在此基础上实现一个屏幕。用户单击“确定”后,可以启动一个异步任务,完成繁重的任务并在完成后清理文件