TreeMind树图在线AI思维导图
当前位置:树图思维导图模板IT互联网产品结构Spring-MVC思维脑图思维导图

Spring-MVC思维脑图思维导图

  收藏
  分享
免费下载
免费使用文件
灰色と青 浏览量:102023-11-30 19:58:42
已被使用0次
查看详情Spring-MVC思维导图

文件上传于异常处理等内容分解

树图思维导图提供 Spring-MVC思维脑图 在线思维导图免费制作,点击“编辑”按钮,可对 Spring-MVC思维脑图  进行在线思维导图编辑,本思维导图属于思维导图模板主题,文件编号是:93841d503308ea094fd3c39dbb03694a

思维导图大纲

Spring-MVC-03思维导图模板大纲

文件上传

在Java中,主流文件上传方式有两种,分别是通用文件上传(commons-fileupload) 和Servlet3.0方式的文件上传, 前者更为广泛使用,springmvc分别对两种方式都做了支持

SpringMVC对文件上传的接口做了统一的封装,两种方式都是使用MultipartFile接口, 使得开发人员可以在业务代码中使用统一的接口

commons-fileupload方式文件上传

准备工作

创建FileUpload.jsp

文件上传客户但必须要满足以下条件: 1)表单项type="file" 2)表单的提交方式是post 3)表单的enctype属性是多部份表单格式,及enctype="multipart/form-data"

添加依赖

在SpringMVC.xml配置文件中添加MultipartResolver文件上传解析器

在Controller中编写文件上传逻辑代码

Servlet3.0标准API文件上传

引入servlet3.0依赖

web.xml中配置

在SpringMVC.xml中配置multipartResolver

异常处理

之前异常处理和现在异常处理的对比

在SSM框架使用时,异常一般是由Dao抛给Service,Service抛给Controller,由Controller处理或者抛给全局异常处理, Service中禁止使用try{}catch{}处理异常,因为有可能会引起Spring声明式事务失效。

单Controller范围异常处理

注释掉Interceptor操作

service

Controller

处理所有异常类型

在需要异常处理的Controller类中添加如下方法,给方法添加 @ExceptionHandler 注解

处理特定异常类型

多Controller异常处理

子主题 2

新建一个专门用于异常处理的类作为全局异常处理,给该类添加 @ControllerAdvice 注解

@ControllerAdvice 注解默认会作为全局的异常处理,所有的Controller中出现异常都会自动调 用这里的方法去处理异常。 我们也可以通过该注解中的一些属性进一步细化异常处理的作用范围

annotations属性

basePackages属性

assignableTypes属性

文件名上传乱码问题

使用通用上传方式的解决方法 在配置的CommonsMultipartResolver bean中注入属性

使用Servlet3.0标准上传方式的解决方法 通过配置SpringMVC提供的POST编码过滤器解决

本质上还是设置请求的编码 request.setCharacterEncoding("UTF-8");

上传多个文件

拦截器

拦截器VS过滤器

pringMVC的拦截器和Servlet中的过滤器(Filter)功能类似。

Fliter

过滤器Filter是Servlet规范中提供的一项技术,他不依赖与任何第三方框架,他的主要租用来做两件事:

加工请求

过滤请求

校验响应结果

拦截器

拦截器是SpringMVC自己自己封装的一项基于Handler拦截的技术。也就是说只有在SpringMVC框架 里面才有拦截器的概念。拦截器拦截的对象是Handler接口。它的全称是 HandlerInterceptor。

如何使用拦截器

需求:创建LoginController实现用户登录,如果用户名和密码为null则不能跳转到success.jsp, 如果不为null,则跳转到success.jsp。

springmvc.xml

LoginController.java

定义拦截器类

配置拦截器

全局拦截器

拦截指定请求的拦截器

如果interceptor配置成拦截/**,会将放行的静态资源请求也一并拦截,需要通过 exclude-mapping放开。

相关思维导图模板

未名湖案件思维导图思维导图

树图思维导图提供 未名湖案件思维导图 在线思维导图免费制作,点击“编辑”按钮,可对 未名湖案件思维导图  进行在线思维导图编辑,本思维导图属于思维导图模板主题,文件编号是:474dd24f7a220bf223a707ffee46939e

安保公司思维脑图思维导图

树图思维导图提供 安保公司思维脑图 在线思维导图免费制作,点击“编辑”按钮,可对 安保公司思维脑图  进行在线思维导图编辑,本思维导图属于思维导图模板主题,文件编号是:a52dd3bb37d47db399507e43ac4ea1ed