1. 注解式开发之annotation-driven解释

(1) mvc注解驱动在哪个文件中配置?

在springmvc中配置

(2) 配置mvc注解驱动使用哪个标签?




返回文字加换行符 springboot spring controller返回字符串_ajax 上传文件


2. 注解式开发之视图解析器

(1) 视图解析器起到什么作用?

对路径名进行拼接。

(2) 视图解析器如何使用?

使用之前


返回文字加换行符 springboot spring controller返回字符串_ajax 上传文件_02


使用之后(在springmvc中配置)


返回文字加换行符 springboot spring controller返回字符串_ajax 上传文件_03


返回文字加换行符 springboot spring controller返回字符串_ajax 上传文件_04


3. 处理器方法常用参数

(1) 处理器方法的常用参数有哪些?

HttpServletRequest

HttpServletResponse

HttpSession

用于承载数据的Model、Map、ModelMap

请求中所携带的参数

(2) SpringMVC控制层常用的承载数据的对象有哪些

Model、Map、ModelMap

4. 参数接收之逐个接收

(1) 在后端控制器中如何接收前台参数?


返回文字加换行符 springboot spring controller返回字符串_ajax 上传文件_05


(2) 在后端控制器中接收前台“age”参数,是否需要手动转换成int类型,为什么?

不需要,可以自动转换

(3) 传递的name值与接收的参数名不同怎么办?


返回文字加换行符 springboot spring controller返回字符串_ajax 上传文件_06


返回文字加换行符 springboot spring controller返回字符串_ajax 上传文件_07


5. 参数接收之对象整体接收

(1) 简述以对象形式整体接收参数的步骤

①创建对象类

②将对象以参数形式传入方法

③从对象中获取值


返回文字加换行符 springboot spring controller返回字符串_ajax 上传文件_08


(2) 以对象形式整体接收参数有什么要求?

对象属性要与传递的name值相同


返回文字加换行符 springboot spring controller返回字符串_ajax 上传文件_09


返回文字加换行符 springboot spring controller返回字符串_ajax 上传文件_10


返回文字加换行符 springboot spring controller返回字符串_ajax 上传文件_11


6. 参数接收之数组或集合接收参数

(1) 请简述用数组或集合接收参数的步骤?

①将集合或数组以参数形式放入方法中

②对集合或参数进行遍历

(2) 请描述数组和集合接收参数的区别?


返回文字加换行符 springboot spring controller返回字符串_ajax 上传文件_12


返回文字加换行符 springboot spring controller返回字符串_ajax 上传文件_13


7. 参数接收之域属性参数接收及restful风格传参

(1) 域属性参数的接收需要注意什么?


返回文字加换行符 springboot spring controller返回字符串_ajax 上传文件_14


返回文字加换行符 springboot spring controller返回字符串_ajax 上传文件_15


(2) 什么是restful风格传参?

参数作为路径变量的一部分,参数在路径里面。


返回文字加换行符 springboot spring controller返回字符串_ajax 上传文件_16


8. 参数接收之接收json

(1) 如何在后端控制器中接收前台传过来的Json字符串?


返回文字加换行符 springboot spring controller返回字符串_ajax 上传文件_17


(2) 如何将页面中的Json对象转换成Json字符串?


返回文字加换行符 springboot spring controller返回字符串_ajax 上传文件_18


9. 获取请求头中信息@RequestHeader

(1) 请求头中有哪些常用信息?

Cookie、host

(2) @RequestHeader该注解放到什么位置?


返回文字加换行符 springboot spring controller返回字符串_ajax 上传文件_19


10. 处理器方法返回值类型String

(1) 处理器方法何时使用String作为返回值类型?

当不需要传递数据,只需要跳转资源时使用String作为返回值类型。


返回文字加换行符 springboot spring controller返回字符串_ajax 上传文件_20


返回文字加换行符 springboot spring controller返回字符串_ajax 上传文件_21


(2) 如果处理器方法返回值类型为String,默认情况访问该方法会如何跳转?

请求转发

11. 处理器方法无返回值void

(1) 如果处理器方法无返回值,那么能否进行资源跳转及传递数据,如何实现?

使用ajax请求,将resp对象以参数形式放在方法参数列表中,将需要传递的数据以流的形式返回ajax。


返回文字加换行符 springboot spring controller返回字符串_ajax 上传文件_22


返回文字加换行符 springboot spring controller返回字符串_ajax 上传文件_23


(2) 何时处理器方法无返回值较合适?

①通过ServletAPI来传递数据并完成跳转

②使用ajax时,不需要返回值

12. 处理器方法返回值类型Object

(1) 如何将处理器方法返回值返回到前台?


返回文字加换行符 springboot spring controller返回字符串_ajax 上传文件_24


13. 请求转发与重定向

(1) 请描述请求转发与重定向区别?


返回文字加换行符 springboot spring controller返回字符串_ajax 上传文件_25


请求转发:服务器内部跳转,地址栏信息不变,一次请求

重定向:服务器外部跳转,地址栏信息改变,两次请求

(2) 在javaEE中请求转发和重定向是如何实现的?

请求转发:req.getRequestDispatcher("转发路径").forward(req, resp);

重定向:resp.sendRedirect("路径名")

14. 文件上传

(1) 文件上传时,表单中添加了什么属性,具体值是什么?


返回文字加换行符 springboot spring controller返回字符串_ajax 上传文件_26


(2) 使用springMVC进行文件上传时,接收文件的参数类型是什么?


返回文字加换行符 springboot spring controller返回字符串_ajax 上传文件_27


15. 文件下载

(1) 后端控制器方法的返回值类型是什么?

ResponseEntity<byte[]>

(2) 文件下载时后端控制器中涉及哪些步骤?

①指定下载文件

②创建字节数组,并且设置数组大小为预估的文件字节数

③将输入流中字符存储到缓存数组中

④获取下载显示的文件名,并解决中文乱码问题

⑤设置HTTP响应头信息,并且通知浏览器以附件的形式下载

⑥设置HTTP响应状态信息


返回文字加换行符 springboot spring controller返回字符串_ajax 上传文件_28


16. 自定义拦截器

(1) 如何自定义拦截器?


返回文字加换行符 springboot spring controller返回字符串_ajax 上传文件_29


(2) 如何注册拦截器?


返回文字加换行符 springboot spring controller返回字符串_ajax 上传文件_30


17. 自定义拦截器-添加拦截器后执行流程(对应31-32视频)

(1) 自定义拦截器实现HandlerInterceptor接口需要实现哪些方法,这些方法分别是何时执行?


返回文字加换行符 springboot spring controller返回字符串_ajax 上传文件_31


(2) 程序中有多个拦截器,那么程序的执行流程是怎样的?

先执行preHandle(),再执行处理器中的方法,然后执行postHandle(),最后执行afterCompletion()

18. Spring与SpringMVC父子容器关系解释

(1) 简述Spring与SpringMVC的关系?

Spring是父容器,SpringMVC是其子容器,并且在Spring父容器中注册的Bean对于SpringMVC容器中是可见的,而在SpringMVC容器中注册的Bean对于Spring父容器中是不可见的,也就是子容器可以看见父容器中的注册的Bean,反之就不行。