文件上传
因为form表单中提交的可能是文本信息可能是文件,所以需要对提交的请求进行解析,首先创建一个磁盘文件工厂DiskFileItemFactory对象,设置缓冲区大小,缓冲区目录等,之后创建一个文件上传解析器ServletFileUpload对象,设置文件上传大小上限、上传进度接口等,再调用该对象的parseRequest解析请求,将form中每一个输入项存储到list中,之后遍历该列表,使用isFormField判断是否是文件或表单文本输入即可,若是文件则用输出流输出到文件。
Spring定时器设置
首先将需要定时调用的类注册到bean中,之后将该bean添加到job中,之后通过trigger设置每天调用的时间,最后通过Scheduler调用trigger。
<!-- 两个责任定时器 -->
<bean id="updateTask" class="com.project.controller.RespRemindController" />
<!--定时器任务配置(开始) -->
<!--配置JOB -->
<bean id="updateDataTask"
class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
<property name="targetObject" ref="updateTask" />
<property name="targetMethod" value="updateStatusAuto" />
<property name="concurrent" value="true" /> <!-- 允许并发 -->
<!-- <property name="arguments" /> -->
</bean>
<!--配置Trigger -->
<bean id="updateDataTrigger"
class="org.springframework.scheduling.quartz.CronTriggerFactoryBean">
<property name="jobDetail"><!-- jobDetail是Spring定时器的特殊属性 -->
<ref bean="updateDataTask" />
</property>
<property name="cronExpression">
<!--每天0点30分触发-->
<value>0 30 0 * * ?</value><!-- cronExpression是Spring定时器的特殊属性 -->
</property>
</bean>
<!--配置Scheduler -->
<bean id="schedulerFactory"
class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
<property name="triggers">
<list>
<ref bean="updateDataTrigger" />
</list>
</property>
</bean>
<!-- 定时结束 -->