2021-06-28
思维导图
1/74p SpringMVC Web开发底层是servlet
2/74p SpringMVC Web开发步骤
3/74p SpringMVC 中央调度器创建springmvc容器对象
4/74p SpringMVC 自定义容器配置文件
5/74p SpringMVC 设置web.xml的mapping部分【url-pattern】
mapping就是起了一个别名
6/74p SpringMVC 创建控制类
7/74p SpringMVC 创建控制器方法
8/74p SpringMVC 测试请求
测试成功
9/74p SpringMVC 请求处理过程
上面的第4步,DispatcherServlet是根据MyController中的RequestMapping和web.xml中的映射关系(url-partern)找到doSome方法的。
简化过程
10/74p DispatcherServlet的init源代码
11/74p DispatcherServlet的doDispatch源代码
12/74p 配置视图解析器
在springmvc.xml中配置视图解析器。
13/74p SpringMVC注解式开发
14/74p 指定请求方式method属性
如果上面定义的访问方式和后面的不一致,就会报错。如下
15/74p 处理器方法形参request
16/74p 接受参数,逐个接收
在上面的文本框中输入参数,然后就会传给springmvc的中央调度器DisPatcherServlet,DisPatcherServlet通过@RequestMapping中的参数找到对应的controller类,执行对应的controller方法,接收参数,并展示在show.jsp页面中。
存在的一些问题,在上面的文本框中,如果年龄为空的话,在代码内部其实有一个字符串转为int类型的过程,就会发生错误。”400“错误,就是表示客户端错误,表示提交请求参数的过程中出现了错误。
第二个问题:
17/74p 使用过滤器解决post方式访问中文乱码问题
18/74p 复习第一天内容
19/74p 复习接收参数
20/74p RequestParam注解
解决办法:使用@RequestParam绑定
21/74p 对象接受参数
只要对象的属性名和请求参数名是一致的,框架就可以接收参数,并给属性赋值。
22/74p 返回值ModelAndView
返回结果有以下四大类,如果返回值需要数据和视图,那就使用ModelAndView,视图就表示需要跳转的页面。
23/74p 返回值String表示视图
24/74p 返回值void响应ajax【了解】
回忆ajax,ajax是用来做局部刷新的技术
25/74p 返回值void响应json格式
使用框架做ajax
26/74p 返回值Object-注解驱动作用
27/74p 返回值Object-HttpMessageConverter
28/74p 返回值Object-注解驱动的对比
面试题:springmvc的返回值是一个对象,怎么转为json输出呢?
只需要三步:
1、加入json的工具库依赖,springmvc默认的工具库是jackson
2、在springmvc配置文件中加mvc:annotation-driven注解驱动
3、在处理器方法的上面加入@ResponseBody注解
在加入注解驱动之前,messageConverter里面有4个类。
[org.springframework.http.converter.ByteArrayHttpMessageConverter@45127ec4, org.springframework.http.converter.StringHttpMessageConverter@4bd58816, org.springframework.http.converter.xml.SourceHttpMessageConverter@4fea15b4, org.springframework.http.converter.support.AllEncompassingFormHttpMessageConverter@ae8822d]
加入注解驱动之后
[org.springframework.http.converter.ByteArrayHttpMessageConverter@64de5955, org.springframework.http.converter.StringHttpMessageConverter@12cf056, org.springframework.http.converter.ResourceHttpMessageConverter@1ddc309b, org.springframework.http.converter.ResourceRegionHttpMessageConverter@339ea471, org.springframework.http.converter.xml.SourceHttpMessageConverter@251c57a6, org.springframework.http.converter.support.AllEncompassingFormHttpMessageConverter@43d4bd13, org.springframework.http.converter.xml.Jaxb2RootElementHttpMessageConverter@3ff0051a, org.springframework.http.converter.json.MappingJackson2HttpMessageConverter@790b93b9]
29/74p 返回值Student-Json
30/74p 返回值Student的处理流程
31/74p 返回值List是jsonArray
[{