SpringMVC 常见面试问题
程序员文章站
2024-03-23 22:06:22
...
SpringMVC流程/原理
- 用户请求到DispatcherServlet
- DispatcherServlet收到请求调用HandlerMapping处理器映射器
- HandlerMapping根据请求url找到具体的处理器,生成处理器对象及处理器拦截器一并放回给DispatcherServlet
- DispatcherServlet通过HandlerAdapter处理器适配器调用处理器
- 执行处理器==controller
- Controller返回ModelAndView,HandlerAdapter将结果返回给DispatcherServlet
- DispatcherServlet将ModelAndView传给ViewReslover视图解析器
- ViewReslover解析后返回具体的View
- DispatcherServlet对view进行渲染
- DispatcherServlet响应用户
流程图:
乱码问题
- Post乱码 : 配置过滤器ChatcterEncodingFilter
- Get乱码 : tomcat配置编码与工程编码一直或代码中对参数进行重新编码
重定向和转发
在返回值前面加“redirect” 或 “forward”
return "forward:/跳转的页面或路由";
重定向和转发的区别
- 转发比重定向快,因为重定向要经过客户端
- 要重定向到另外一个网站,转发无法做到
- 理解为: 转发为内部的请求转发(一次请求),而重定向的话需要再一次请求
全局异常
自定义实现spring的全局异常解析器HandlerExceptionResolver
SpringBoot 和 SpringMVC
- 约定优于配置,降低搭建复杂度
- 大部分第三方配置库开箱即用
- 内置微型tomcat,无需再装tomcat进行部署项目,maven打包jar就可以直接运行项目
Spring是引擎
SpringMVC 是基于Spring的一套MVC框架
SpringBoot 是基于Spring4的条件注册的一套快速开发整合包
下一篇: iOS 应用程序加载