美文网首页
10|第十课:springMVC实现文件上传、拦截器

10|第十课:springMVC实现文件上传、拦截器

作者: 木头amo | 来源:发表于2019-02-12 11:17 被阅读25次

一、历史回顾

(一)、Servlet上传方式

Servlet上传方式比较复杂

二、springMVC实现文件上传、拦截器

(一)、springMVC实现文件上传

1、简介

springMVC实现文件上传和Servlet方式的本质一样,都是通过commons-fileupload.jar和commons-io.jar。

springMVC可以简化文件上传的代码,但是必须满足条件:实现MultipartResolver接口。springMVC已经实现了该接口,直接使用springMVC的提供的实现类就可以了。这里使用CommonsMultipartResolver类。

MultipartResolver接口的实现类

CommonsMultipartResolver类:底层代码中,有很多实体类的属性是设置文件上传的

2、文件上传具体步骤:(直接使用CommonsMultipartResolver类实现上传)

a、支持的jar:

commons-fileupload.jar

commons-io.jar

b、配置:

将CommonsMultipartResolver类配置到spring的IOC容器中。

配置信息

c、处理方法:

注解

d、页面请求要求:

表单的method必须是post,里面还需要设置一个"enctype='multipart/form-data'"。

示例

例:

请求页面(index.jsp):

请求页面

Controller处理请求:

处理文件上传请求

springmvc配置:

配置

(二)、拦截器

1、原理

拦截器和过滤器原理一样。

拦截器

2、操作步骤

a、springMVC要想实现拦截器,必须实现一个HandlerInterceptor接口。接口中有三个方法,分别是preHandle()、postHandle()、afterCompletion()方法。具体作用如下图所示:

图示

编写代码自定义拦截器代码。实现HandlerInterceptor接口。示例:

示例代码

b、配置:将自己编写拦截器配置到springMVC(spring)中。示例配置:

配置拦截器

上面示例是拦截所有的请求。下面配置指定拦截内容或者是不拦截那些内容,如下图所示:

指定拦截路径的拦截器

它们取拦截取交集

例:

请求页面(index.jsp):

请求

自定义拦截器:

自定义拦截器

配置springmvc(配置拦截器):

配置拦截器

Controller处理请求:

处理请求

例:处理两个拦截器的情况,在上例的基础上再配置一个拦截器

拦截器2:

拦截器2代码

配置多个拦截器:

多个拦截器配置

相关文章

网友评论

      本文标题:10|第十课:springMVC实现文件上传、拦截器

      本文链接:https://www.haomeiwen.com/subject/kfjqeqtx.html