1. 注解式开发之annotation-driven解释
(1) mvc注解驱动在哪个文件中配置?
在springmvc中配置
(2) 配置mvc注解驱动使用哪个标签?
2. 注解式开发之视图解析器
(1) 视图解析器起到什么作用?
对路径名进行拼接。
(2) 视图解析器如何使用?
使用之前
使用之后(在springmvc中配置)
3. 处理器方法常用参数
(1) 处理器方法的常用参数有哪些?
HttpServletRequest
HttpServletResponse
HttpSession
用于承载数据的Model、Map、ModelMap
请求中所携带的参数
(2) SpringMVC控制层常用的承载数据的对象有哪些?
Model、Map、ModelMap
4. 参数接收之逐个接收
(1) 在后端控制器中如何接收前台参数?
(2) 在后端控制器中接收前台“age”参数,是否需要手动转换成int类型,为什么?
不需要,可以自动转换
(3) 传递的name值与接收的参数名不同怎么办?
5. 参数接收之对象整体接收
(1) 简述以对象形式整体接收参数的步骤?
①创建对象类
②将对象以参数形式传入方法
③从对象中获取值
(2) 以对象形式整体接收参数有什么要求?
对象属性要与传递的name值相同
6. 参数接收之数组或集合接收参数
(1) 请简述用数组或集合接收参数的步骤?
①将集合或数组以参数形式放入方法中
②对集合或参数进行遍历
(2) 请描述数组和集合接收参数的区别?
7. 参数接收之域属性参数接收及restful风格传参
(1) 域属性参数的接收需要注意什么?
(2) 什么是restful风格传参?
参数作为路径变量的一部分,参数在路径里面。
8. 参数接收之接收json
(1) 如何在后端控制器中接收前台传过来的Json字符串?
(2) 如何将页面中的Json对象转换成Json字符串?
9. 获取请求头中信息@RequestHeader
(1) 请求头中有哪些常用信息?
Cookie、host
(2) @RequestHeader该注解放到什么位置?
10. 处理器方法返回值类型String
(1) 处理器方法何时使用String作为返回值类型?
当不需要传递数据,只需要跳转资源时使用String作为返回值类型。
(2) 如果处理器方法返回值类型为String,默认情况访问该方法会如何跳转?
请求转发
11. 处理器方法无返回值void
(1) 如果处理器方法无返回值,那么能否进行资源跳转及传递数据,如何实现?
使用ajax请求,将resp对象以参数形式放在方法参数列表中,将需要传递的数据以流的形式返回ajax。
(2) 何时处理器方法无返回值较合适?
①通过ServletAPI来传递数据并完成跳转
②使用ajax时,不需要返回值
12. 处理器方法返回值类型Object
(1) 如何将处理器方法返回值返回到前台?
13. 请求转发与重定向
(1) 请描述请求转发与重定向区别?
请求转发:服务器内部跳转,地址栏信息不变,一次请求
重定向:服务器外部跳转,地址栏信息改变,两次请求
(2) 在javaEE中请求转发和重定向是如何实现的?
请求转发:req.getRequestDispatcher("转发路径").forward(req, resp);
重定向:resp.sendRedirect("路径名")
14. 文件上传
(1) 文件上传时,表单中添加了什么属性,具体值是什么?
(2) 使用springMVC进行文件上传时,接收文件的参数类型是什么?
15. 文件下载
(1) 后端控制器方法的返回值类型是什么?
ResponseEntity<byte[]>
(2) 文件下载时后端控制器中涉及哪些步骤?
①指定下载文件
②创建字节数组,并且设置数组大小为预估的文件字节数
③将输入流中字符存储到缓存数组中
④获取下载显示的文件名,并解决中文乱码问题
⑤设置HTTP响应头信息,并且通知浏览器以附件的形式下载
⑥设置HTTP响应状态信息
16. 自定义拦截器
(1) 如何自定义拦截器?
(2) 如何注册拦截器?
17. 自定义拦截器-添加拦截器后执行流程(对应31-32视频)
(1) 自定义拦截器实现HandlerInterceptor接口需要实现哪些方法,这些方法分别是何时执行?
(2) 程序中有多个拦截器,那么程序的执行流程是怎样的?
先执行preHandle(),再执行处理器中的方法,然后执行postHandle(),最后执行afterCompletion()
18. Spring与SpringMVC父子容器关系解释
(1) 简述Spring与SpringMVC的关系?
Spring是父容器,SpringMVC是其子容器,并且在Spring父容器中注册的Bean对于SpringMVC容器中是可见的,而在SpringMVC容器中注册的Bean对于Spring父容器中是不可见的,也就是子容器可以看见父容器中的注册的Bean,反之就不行。