SpringMVC面试题

  • 1、SpringMVC的理解
  • 2、SpringMVC的工作流程
  • 3、SpringMVC的常用注解
  • 4、SpringMVC的九大内置组件
  • 5、Spring、SpringMVC、SpringBoot的区别

1、SpringMVC的理解


2、SpringMVC的工作流程


3、SpringMVC的常用注解

  • @RequestMapping: 用于处理请求url映射的注解,可用于类或方法上,用于类上,则表示类中的所有响应请求的方法都是以该地址作为父路径。
  • @RequestBody: 注解实现接收http请求的json数据,将json转换为java对象
  • @ResponseBody: 注解实现将conreoller方法返回对象转化为json对象响应给客户

4、SpringMVC的九大内置组件

  • HandlerMapping
    • 根据request请求找到相应的处理器。因为Handler (Controller) 有两种形式,一种是基于类的Handler,另一种是基于Method的Handler (也就是我们常用的)。
  • HandlerAdapter
    • 调用Handler的适配器。如果把Handler (Controller) 当做工具的话,那么HandlerAdapter就相当于干活的工人。
  • HandlerExceptionResolver
    • 对异常的处理
  • ViewResolver
    • 用来将String类型的视图名和Locale解析为View类型的视图
  • RequestToViewNameTranslator
    • 有的Handler (Controller) 处理完后没有设置返回类型,比如是void方法,这是就需要从request请求中获取viewName
  • LocaleResolver
    • 从request中解析出Locale。Locale表示一个区域,比如zh-cn,对不同的区域的用户,显示不同的结果,这就是i18n (SpringMVC中有具体的拦截器LocaleChangelnterceptor)
  • ThemeResolver
    • 主题解析,这种类似于我们手机更换主题,不同的U1,css等
  • MultipartResolver
    • 处理上传请求,将普通的request封装成MultipartHttpServletRequest
  • FlashMapManager
    • 用于管理FlashMap,FlashMap用于在redirect重定向中传递参数

5、Spring、SpringMVC、SpringBoot的区别

  • SpringMVC和Spring:
    • Spring是一个一站式的轻量级的java开发框架,核心是控制反转(IOC)和面向切面(AOP),针对于开发的WEB层(SpringMVC)、业务层(IOC)、持久层(JDBCTemplate)等都提供了多种配置解决方案。
    • SpringMVC是Spring基础之上的一个MVC框架,主要处理web开发的路径映射和视图渲染,属于Spring框架中WEB层开发的一部分。
  • SpringMVC和SpringBoot
    • SpringMVC属于一个企业WEB开发的MVC框架,涵盖面包括前端视图开发、文件配置、后台接口逻辑开发等,XML、config等配置相对比较繁琐复杂;
    • SpringBoot框架相对于SpringMVC框架来说,更专注于开发微服务后台接口,不开发前端视图,同时遵循默认优于配置,简化了插件配置流程,不需要配置xml,相对SpringMVC,大大简化了配置流程;

更多推荐

【SpringMVC】SpringMVC面试题总结