java学习笔记——众筹项目练习——文件上传进度条、quartz石英调度

                                            文件上传进度条

  还记得在前面的文章我们实现的功能当中有文件上传的功能吗?今天我们来为文件上传美化一下,添加一个文件上传的进度条来实时显示文件上传的进度。

说干就干!实现方法很简单,也就不使用任何插件了,我们的文件上传是使用ajax实现的。那我们就在ajax中获取到文件上传的实时信息,并这些实时信息显示在Bootstrap样式库中的进度条中即可。

获取ajax上传文件时,实时的上传进度信息。

java学习笔记——众筹项目练习——文件上传进度条、quartz石英调度_第1张图片

利用ajax中的xhr字段参数来实现进度条功能。

java学习笔记——众筹项目练习——文件上传进度条、quartz石英调度_第2张图片

在Bootstrap样式库中找到进度条样式拷贝到我们的代码中。

java学习笔记——众筹项目练习——文件上传进度条、quartz石英调度_第3张图片

将进度条样式作为一个模态框放在我们的页面中,在需要时显示和隐藏。

java学习笔记——众筹项目练习——文件上传进度条、quartz石英调度_第4张图片

完成,简单吧!我们来试一试!

启动后台manager系统并登录后进入广告管理页面。

java学习笔记——众筹项目练习——文件上传进度条、quartz石英调度_第5张图片

点击新增按钮添加广告图片,选择好图片后点击确定,上传图片。

java学习笔记——众筹项目练习——文件上传进度条、quartz石英调度_第6张图片

因为我们的进度条在大的百分之百后会隐藏掉,速度很快,不容易截图,所以我在隐藏掉之前放置了一个alert来阻塞弹出,只要我们不关闭这个alert,进度条就会显示。

java学习笔记——众筹项目练习——文件上传进度条、quartz石英调度_第7张图片

关闭alert,因为进度条已经达到了百分之百,进度条的模态框就会隐藏掉。

java学习笔记——众筹项目练习——文件上传进度条、quartz石英调度_第8张图片

ok,验证完毕。

 

                                                 quartz石英调度

接下来我们了解一下quartz石英调度,石英调度通常用于定时任务。

石英调度:

     quartz:-石英;定时任务;

     是由原生java完成();

java学习笔记——众筹项目练习——文件上传进度条、quartz石英调度_第9张图片

 

quartz:非常方便的进行定时任务调度;

1、核心包

2、整合包;

     Spring框架内置支持的,核心并没有导入,我们需要导入;

     

     SpringMVC支持的第三方的框架集成,第三方功能的集成;

     (复杂功能)

     

3、Spring文档,查看任务调度的使用;

指定哪个对象的哪个方法需要何时运行即可;

1.1)、配一个jobDetail:指定要运行哪个对象的哪个方法;

   

   

1.2)、配一个触发器,指定何时完成

 

    

    

    

        class="org.springframework.scheduling.quartz.CronTriggerFactoryBean">

        

        

        

    

1.3)、配置Scheduler使用触发器进行任务调度

 

    

        

            

                

                

                

            

        

    

2)、cron表达式

     1)、能出现的通配符

          , - * /:出现在

(1)*:表示匹配该域的任意值,假如在Minutes域使用*, 即表示每分钟都会触发事件。

(2)?:只能用在DayofMonth和DayofWeek两个域。它也匹配域的任意值,但实际不会。因为DayofMonth和 DayofWeek会相互影响。例如想在每月的20日触发调度,不管20日到底是星期几,则只能使用如下写法: 13 13 15 20 * ?, 其中最后一位只能用?,而不能使用*,如果使用*表示不管星期几都会触发,实际上并不是这样。 

(3)-:表示范围,例如在Minutes域使用5-20,表示从5分到20分钟每分钟触发一次 

(4)/:表示起始时间开始触发,然后每隔固定时间触发一次,例如在Minutes域使用5/20,则意味着5分钟触发一次,而25,45等分别触发一次. 

(5),:表示列出枚举值值。例如:在Minutes域使用5,20,则意味着在5和20分每分钟触发一次。 

 

添加石英调度依赖。

java学习笔记——众筹项目练习——文件上传进度条、quartz石英调度_第10张图片

 

新建HelloQuartzService类。

java学习笔记——众筹项目练习——文件上传进度条、quartz石英调度_第11张图片

 

新建spring-quartz.xml配置文件

java学习笔记——众筹项目练习——文件上传进度条、quartz石英调度_第12张图片

运行就可以在控制台看见打印结果啦!!!

简单吧!!!

你可能感兴趣的:(java学习笔记)