SpringMVC 14道题
- 1. springmvc工作流程
- 2. springmvc的四大组件
- 3. springmvc常用的注解,每个注解的作⽤
- 4. springmvc参数绑定方式
- 5. springmvc如何即可以响应xml又可以响应json(早期)
- 6. 使用springmvc如何完成文件上传
- 7. springmvc和spring父子容器关系
- 8. 什么是restful风格
- 9. springmvc支持restful风格吗?有哪些注解
- 10.springmvc获得--request,response,session⼏种⽅式
- 11. 注解方式springmvc使用的是那个HandlerMapping,HandlerAdapter
- 12. springmvc怎么处理异常
- 13. springmvc拦截器怎么使用
- 14. 拦截器和过滤器的区别
1. springmvc工作流程
https://www.bilibili/video/BV15b4y117RJ?p=160
2. springmvc的四大组件
3. springmvc常用的注解,每个注解的作⽤
4. springmvc参数绑定方式
SpringMVC接受前端传递的参数,经过【类型转化】,将参数封装到【Controller方法的形参】;
前端传递不同格式的参数,需要在Controller方法中定义不同的类型的形参进行参数绑定;
5. springmvc如何即可以响应xml又可以响应json(早期)
6. 使用springmvc如何完成文件上传
7. springmvc和spring父子容器关系
SpringMVC+Spring这种开发模式的时候,会有两个容器
SpringMVC容器管理,controller,Handlermapping,ViewResolver
Spring容器管理,service,datasource,mapper,dao
Spring容器是父容器,SpringMVC容器是子容器
子容器可以访问父容器上面的资源,所以我们会在看Controller可以注入Service
8. 什么是restful风格
9. springmvc支持restful风格吗?有哪些注解
@GetMapping
@PostMapping
@DeleteMapping
@PutMapping
@PathVariable
@RequestBody
@ResponseBody
10.springmvc获得–request,response,session⼏种⽅式
在Controller方法的形参中可以直接定义HttpServletRequest HttpServletResponse,HttpSession
SpringMVC框架如何发现Controller方法定义了以上三个形参,在调用的时候,会自动传递;
方式2:
通过RequestContextHolder中的静态方法来获取
ServletRequestAttributes requestAttributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes();
方式3
注入HttpServletRequest HttpServletResponse,HttpSession
11. 注解方式springmvc使用的是那个HandlerMapping,HandlerAdapter
处理器映射器是springmvc中的一个组件,其作用是根据url获取Handler,spring中定义HandlerMapping接口,该接口有很多实现类其中RequestMappingHandlerMapping
处理器适配器是springmvc中的一个组件,其作用是执行Handler,spring中定义HandlerAdapter接口,该接口有很多实现类其中RequestMappingHandlerAdapterf6310e8471e9ceb92395434b45c.png)
12. springmvc怎么处理异常
全局异常处理器
方式1:实现 HandlerExceptionResolver 接口
方式2: @Controlleradvice + @ ExceptionHandler 注解
13. springmvc拦截器怎么使用
1.自定义拦截器,实现HandlerInterceptor接口
2.springmvc配置文件|配置类中配置
14. 拦截器和过滤器的区别
1.实现原理不同
过滤器和拦截器 底层实现方式大不相同,过滤器 是基于函数回调的,拦截器 则是基于Java的反射机制(动态代理)实现的
2.使用范围不同
过滤器实现的是 javax.servlet.Filter 接口,而这个接口是在Servlet规范中定义的,也就是说过滤器Filter 的使用要依赖于Tomcat等容器,导致它只能在web程序中使用
3.触发时机不同
过滤器Filter是在请求进入tomcat服务器后,但在进入servlet之前进行预处理,请求结束是在servlet处理完以后。
拦截器 Interceptor 是在请求进入servlet后,在进入Controller之前进行预处理的,Controller 中渲染了对应的视图之后请求结束
4.拦截范围不同
过滤器几乎可以对所有进入Tomcat的请求起作用
而拦截器只会对Controller中请求或访问static目录下的资源请求起作用
更多推荐
框架之SpringMVC面试题
发布评论