欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

常用框架SpringMVC

程序员文章站 2022-07-10 08:14:29
与SpringMVC相关面试题SpringMVC的流程(1)用户发送请求至前端控制器 DispatcherServlet;(2)DispatcherServlet 收到请求后,调用 HandlerMapping 处理器映射器,请求获取Handle;(3)处理器映射器根据请求 url 找到具体的处理器,生成处理器对象及处理器拦截器(如果有则生成)一并返回给 DispatcherServlet;(4)DispatcherServlet 调用 HandlerAdapter 处理器适配器;(...
  1. SpringMVC的流程

    (1)用户发送请求至前端控制器 DispatcherServlet;
    (2)DispatcherServlet 收到请求后,调用 HandlerMapping 处理器映射器,请求获取Handle;
    (3)处理器映射器根据请求 url 找到具体的处理器,生成处理器对象及处理器拦截器(如果有则生成)一并返回给 DispatcherServlet;
    (4)DispatcherServlet 调用 HandlerAdapter 处理器适配器;
    (5)HandlerAdapter 经过适配调用 具体处理器(Handler,也叫后端控制器);
    (6)Handler 执行完成返回 ModelAndView;
    (7)HandlerAdapter 将 Handler 执行结果 ModelAndView 返回给 DispatcherServlet;
    (8)DispatcherServlet 将 ModelAndView 传给 ViewResolver 视图解析器进行解析;
    (9)ViewResolver 解析后返回具体 View;
    (10)DispatcherServlet 对 View 进行渲染视图(即将模型数据填充至视图中)
    (11)DispatcherServlet 响应用户。
    

常用框架SpringMVC

  1. SpringMVC和 struts2 的区别有哪些?

    (1)SpringMVC的入口是一个 servlet 即前端控制器(DispatchServlet)而 struts2 入口是一个 filter 过虑器(StrutsPrepareAndExecuteFilter)。
    (2)SpringMVC是基于方法开发(一个 url 对应一个方法),请求参数传递到方法的形参,可以设计为单例或多例(建议单例),struts2 是基于类开发,传递参数是通过类的属性,只能设计为多例。
    (3)Struts 采用值栈存储请求和响应的数据,通过 OGNL 存取数据,SpringMVC通过参数解析器是将 request 请求内容解析,并给方法形参赋值,将数据和视图封装成 ModelAndView对象,最后又将 ModelAndView 中的模型数据通过 reques 域传输到页面。Jsp 视图解析器默认使用 jstl。
    
  2. SpringMVC怎么和 Ajax 相互调用的?

    通过 Jackson 框架就可以把 Java 里面的对象直接转化成 Js 可以识别的 Json 对象。具体步骤如下 :
    (1)加入 Jackson.jar
    (2)在配置文件中配置 json 的映射
    (3)在接怎么样把 ModelMap 里面的数据放入 Session 里面?
    答:可以在类上面加上@SessionAttributes 注解,里面包含的字符串就是要放入 session 里面的 key。
    受 Ajax 方法里面可以直接返回 Object,List 等,但方法前面要加上@ResponseBody 注解。
    如何启用注解?
    <context:annotation-config/>
    如何使用 : 
    <context:component-scan base-package="com.tgb.web.controller.annotation"> </context:component-scan> 则上面内容可以省略。
    
  3. SpringMVC前端控制器是什么?处理器映射器是什么?

    DispatcherServlet:前端控制器。用户请求到达前端控制器,它就相当于 mvc 模式中的 c,DispatcherServlet 是整个流程控制的中心,由它调用其它组件处理用户的请求,DispatcherServlet 的存在降低了组件之间的耦合性。
    HandlerMapping:处理器映射器。HandlerMapping 负责根据用户请求找到 Handler 即处理器,springmvc 提供了不同的映射器实现不同的映射方式,例如:配置文件方式,实现接口方式,注解方式等。
    
  4. SpringMVC获取表单数据的几种方式

    Controller 的方法,添加 HttpServletRequst 类型入参,通过HttpServletRequst.getParameter()获取请求数据。
    Controller 的方法,添加对应表单字段 name 的参数,有几个表单字段就添加多少个对应的入参。
    Controller 的方法,添加自定义 Java 类型的入参,并添加@ModelAttribute 注解,由这个入参对象接收表单提交的数据。
    当表单字段名与 Controller 的方法的形参对象名不一致时,可以在参数类型前添加@requestParam(“表单字段名”)注解来获取表单参数。
    

本文地址:https://blog.csdn.net/weixin_47929786/article/details/111998672

相关标签: java