SSM-SpringMVC

SpringMVC
Spring MVC 是 Spring 提供的一个基于 MVC 设计模式的轻量级 Web 开发框架,本质上相当于 Servlet。
Spring MVC 角色划分清晰,分工明细。由于 Spring MVC 本身就是 Spring 框架的一部分,可以说和 Spring 框架是无缝集成。性能方面具有先天的优越性,是当今业界最主流的 Web 开发框架,最热门的开发技能。

充当前端控制器
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
SpringMVC注解解析
@RequestMapping
作用:用于建立请求URL和处理请求方法之间的对应关系
位置:
类上,请求URL的第一级访问目录。此处不写的话,相当 于应用的根目录
方法上,请求URL的第二级访问目录,与类上的使用@ReqquestMapping标注的一级目录一起组成访问虚拟路径。
Value:用于指定请求的URL。它的path属性的作用是一样的
Method:用于指定请求的参数
Params:用于指定限制请求参数的条件。

SpringMVC的数据响应
页面跳转
在这里插入图片描述
2.返回ModelAndView
ModelAndView modelAndView = new ModelAndView();
//设置模型数据
modelAndView.addObject(“username”,”itcast”)
//设置视图名称
modelAndView.setViewName(“sucess”)

回写数据

  1. 直接返回字符串
    1)通过SpringMVC框架注入的response对象,使用response.getWriter().print(“hello world”)回写数据,此时不需要视图跳转,业务方法返回值为void.
    在这里插入图片描述

    2)将需要回写的字符串直接返回,但此时需要通过@ResponseBody注解告知SpringMVC框架,方法返回的字符串不是跳转是直接在http响应体中返回

  2. 返回对象或集合
    1)通过SpringMVC帮助我们对对象进行json字符串的转换并回写,为处理器适配器配置消息转换参数,指定jackson进行对象或集合的转换,因此需要在spring-mvc.xml中进行如下配置
    在这里插入图片描述
    在这里插入图片描述

2)在方法上添加@ResponseBody就可以返回json格式的字符串,但是这样配置比较麻烦,配置的代码比较多,因此,我们可以使用mvc的注解驱动代替上诉配置。
在这里插入图片描述

SpringMVC获得请求数据
1. 获得请求参数
客户端请求参数的格式是:name=value&name=value…
服务端要或得请求得参数,有时还需要进行数据得封装,SpringMVC可以接收如下类型得参数:
基本类型参数
POJO参数
数组类型参数
集合类型数据
2. 获得基本类型参数
Controller中的业务方法的参数名称要与请求参数得name一致,参数值会自动映射匹配
在这里插入图片描述
3. 获得POJO参数
Controller中的业务方法的POJO参数名称要与请求参数的name一致,参数值会自动映射匹配
在这里插入图片描述
4. 获得数组类型参数
Controller中的业务方法的数组名称与请求参数的name一致,参数值会自动映射匹配
在这里插入图片描述
5. 获得集合类型参数
获得集合参数时,要将集合参数包装到一个POJO中才可以。
当使用ajax提交时,可以指定contentType为json格式,那么在方法参数位置使用RequestBody可以直接接收集合数据而无需使用POJO进行包装。
静态资源访问:
在这里插入图片描述
6.请求数据乱码问题
当post请求时,数据会出现乱码,我们可以设置一个过滤器来进行编码的过滤
在这里插入图片描述
7.参数绑定注解@resquestParam
当请求的参数名称与Controller的业务方法参数名称不一致时,就需要通过@RequestParam注解显示的绑定
在这里插入图片描述
8.获得Restful风格的参数
Resful是一种软件架构风格、设计风格,而不是标准,知识提供了一组设计原则和约束条件,主要用于客户端和服务端交互类的软件,基于这个风格设计的软件可以更简洁,更有层次,更易于实现缓存机制等。
Resful风格的请求是使用”url+请求参数”表示一次请求目的,HTTP协议里面四个表示操作方式的动词如下:
GET:用于获取资源
POST:用于新建资源
PUT:用于更新资源
DELET:用于删除资源
在这里插入图片描述
在这里插入图片描述
9.自定义类型转换器
10.获得Servlet相关API
SpringMVC支持使用原始ServletAPI对象作为控制器方法的参数进行注入,常用的对象如下:
HttpServletRequest
HttpServletResponse
HttpSession
在这里插入图片描述
11.获取请求头
在这里插入图片描述
12.文件上传
在这里插入图片描述
在这里插入图片描述
单文件上传实现
1) 导入fileupload和io坐标
在这里插入图片描述
2) 配置文件上传解析器
在这里插入图片描述
3) 编写文件上传代码
在这里插入图片描述
多文件上传实现
在这里插入图片描述
在这里插入图片描述
JDBCTemplate
在这里插入图片描述
JdbcTemplate操作步骤

  1. 导入Spring-jdbc和spring-tx坐标
  2. 创建数据库和实体
  3. 创建JdbcTemplate对象
    在这里插入图片描述
  4. 执行数据库操作
    在这里插入图片描述
    SpringMVC拦截器(interceptor)
    SpringMVC的拦截器类似于Servlet开发中的过滤器Filter,用于对处理器进行预处理和后处理。
    在这里插入图片描述
  1. 创建拦截器类实现HandlerInterceptor接口
    在这里插入图片描述
  2. 配置拦截器
    在这里插入图片描述
  3. 测试拦截器效果
    拦截器方法说明:
    在这里插入图片描述

SpringMVC异常处理
在这里插入图片描述

  1. 简单异常处理器SimpleMappingExceptionResolver
    在这里插入图片描述
  2. 自定义异常处理器
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值