项目概述:Maven,Servlet3.0,Spring mvc4.2.0
实现思路:客户端发送请求,Spring mvc框架的DispatchServlet的doDispatch方法里面会先去检查有没有配置multipartResolver,有的话会先执行他的resolveMultipart,所以关键点在这,我重写CommonsMultipartResolver的resolverMultipart,该方法会在请求来的时候执行,
下面的parseRequest方法会在resolverMultipart执行到return super.resolverMultipart时候执行,父类的resolverMultipart方法调用了该方法,我们可以在其中给FileUpload设置一个自己实现的监听器(重写ProgressListener接口的Update方法)
之后就可以安心的让文件进入Controller让其上传了,ProgressListener会对上传文件对其监听,这样我们把每次监听到的结果放到session里,然后客户端轮询的方式去访问这个session
我的客户端轮询脚本:
实体属性:
文中说的有什么不对的地方请纠正指教。
备注:Spring mvc4版本以后用@ResponseBody返回json的时候需要jackson-core和jackson-databind两个包,导入这两包就可以了,不需要在xml配置。4以前的版本导入的jackson包为jackson-mapper和jackson-core