springmvc知识点补充

10、文件上传和下载

10.1文件下载

ResponseEntity用于控制器方法的返回值的类型,该控制器方法的返回值就是响应到浏览器响应报文使用ResponseEntity实现下载文件的功能

10.2文件上传

* 文件上传的要求:
* 1、form表单的请求方式必须为post
* 2、form表单必须设置属性enctype="multipart/form-data"

11、拦截器

SpringMVC的拦截器有三个抽象方法

preHandle:控制器方法执行之前执行preHandle(),其boolean类型的返回值表示拦截或放行,返回true为放行,即可以调用控制方法;返回false表示拦截,即不可以调用控制器方法。

postHandle:控制器方法执行之后执行postHandle()

afterCompletion:处理万视图和模型数据,渲染视图完毕之后执行

11.1多个拦截器的执行顺序

⑴如果每个拦截器的preHandle()都返回true

此时多个拦截器的执行顺序和拦截器在SpringMVC配置文件中的配置顺序有关:

preHandle()会按照配置的顺序执行,而其它两个postHandle和afterCompletion会按照配置的逆序执行

⑵如果某个拦截器的preHandle()返回了false

preHandle()返回false和它之前的拦截器的preHanlde()都会执行,postHandle()都不执行,返回false的拦截器之前的拦截器的afterCompletion会执行

12异常处理器

12.1基于配置的异常处理

HandlerExceptionResolver接口

接口实现类:

DefaultHandlerExceptionResolver和 SimpleMappingExceptionResolver

SpringMVC提供了自定义的异常处理器SimpleMappingExceptionResolver

12.2基于注解的异常处理

13、注解配置springmvc

使用配置类和注解代替web.xml和SpringMVC配置文件的功能

13.1、创建初始化的类,代替web.xml

在Servlet3.0环境中,容器会在类路径中查找实现javax.servlet.ServletContainerInitializer接口的类,如果找到的话就用它来配置Servlet容器。 Spring提供了这个接口的实现,名为

SpringServletContainerInitializer,这个类反过来又会查找实现WebApplicationInitializer的类并将配置的任务交给它们来完成。Spring3.2引入了一个便利的WebApplicationInitializer基础实现,名为AbstractAnnotationConfigDispatcherServletInitializer,当我们的类扩展了

AbstractAnnotationConfigDispatcherServletInitializer并将其部署到Servlet3.0容器的时候,容器会自动发现它,并用它来配置Servlet上下文。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值