博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Spring Web常见面试问题
阅读量:6592 次
发布时间:2019-06-24

本文共 1039 字,大约阅读时间需要 3 分钟。

一、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。
 

转载地址:http://bucio.baihongyu.com/

你可能感兴趣的文章
CentOS下搭建LNMP+WordPress+http2.0教程
查看>>
正则表达式
查看>>
github使用小知识点查阅
查看>>
手把手教你画嘴巴,以后再也不怕画嘴巴了
查看>>
Python数据挖掘与机器学习_通信信用风险评估实战(1)——读数据
查看>>
发个项目需求大家瞅瞅
查看>>
初识Svelte
查看>>
【查找算法】基于存储的查找算法(哈希查找)
查看>>
改用ServletRequestAttributes
查看>>
项目空隙
查看>>
LintCode 前序遍历和中序遍历树构造二叉树
查看>>
Electron入门教程
查看>>
ubuntu 14 server vsftp login incorrect 530
查看>>
实用的 Web 布局技巧:Flex 主轴上的自动外边距
查看>>
线程池以及四种常见线程池
查看>>
网络编程-第一节
查看>>
基于JAVA的银行卡实名认证接口调用代码实例
查看>>
Centos下安装并设置nginx开机自启动
查看>>
bzoj3195: [Jxoi2012]奇怪的道路
查看>>
C# 使用 CancellationTokenSource 终止线程
查看>>