SpringMVC 常见面试问题

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的条件注册的一套快速开发整合包

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值