zoukankan      html  css  js  c++  java
  • Spring Web常见面试问题

    一、Web容器初始化过程

    先初始化listener,然后是filter,然后是servlet。

    二、Spring MVC项目中IOC容器关系

    Web容器启动时通知ContextLoaderListener初始化根IOC容器,默认为WebApplicationContext实例,存放除Web层外Bean对象,然后DispatcherServlet初始化WebMVC上下文,建立自己的IOC容器,作为根IOC容器的子容器。

    三、DispatherServlet的工作过程

     

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

    五、SpringMVC与Struts2的主要区别?

    springmvc的入口是一个servlet即前端控制器,而struts2入口是一个filter过虑器。
    springmvc是基于方法开发,传递参数是通过方法形参,可以设计为单例或多例(建议单例),struts2是基于类开发,传递参数是通过类的属性,只能设计为多例。 
    Struts采用值栈存储请求和响应的数据,通过OGNL存取数据, springmvc通过参数解析器是将request对象内容进行解析成方法形参,将响应数据和页面封装成ModelAndView对象,最后又将模型数据通过request对象传输到页面。 Jsp视图解析器默认使用jstl。
     
  • 相关阅读:
    iOS sqlite数据库使用
    vsts 自动部署到Azure
    中国区的Azure添加到 VSTS 的 Service Endpoint
    修改vs17中的cordova模板
    升级vs17中的cordova-simulate
    cordova 从xcode7迁移到xcode8
    自杀程序&递归删除目录
    如何升级cordova插件
    在ubuntu on windows 上安装jekyll
    gitphp日期乱码解决方案
  • 原文地址:https://www.cnblogs.com/doit8791/p/8970009.html
Copyright © 2011-2022 走看看