1.说说springmvc的核心是什么,请求的流程是怎么处理的,控制反转怎么实现的
控制反转和面向切面
请求处理流程:
1、首先用户发送请求到前端控制器,前端控制器根据请求信息(如URL)来决定选择哪一个页面控制器进行处理并把请求委托给它,即以前的控制器的控制逻辑部分;
2、页面控制器接收到请求后,进行功能处理,首先需要收集和绑定请求参数到一个对象,并进行验证,然后将命令对象委托给业务对象进行处理;处理完毕后返回一个ModelAndView(模型数据和逻辑视图名);
3、前端控制器收回控制权,然后根据返回的逻辑视图名,选择相应的视图进行渲染,并把模型数据传入以便视图渲染;
4、前端控制器再次收回控制权,将响应返回给用户。
控制反转如何实现:
我们每次使用spring框架都要配置xml文件,这个xml配置了bean的id和class。
spring中默认的bean为单实例模式,通过bean的class引用反射机制可以创建这个实例。
因此,spring框架通过反射替我们创建好了实例并且替我们维护他们。
A需要引用B类,spring框架就会通过xml把B实例的引用传给了A的成员变量。
2.使用Spring MVC 处理普通页面请求, 下面哪个排序是正确的()
请求:请求提交给服务器
分发:分发器通过web 应用配置信息 , 将请求分发至适当的控制器
服务调用:控制器与业务层交互
响应:控制器更新模型,将执行结果返回给客户端展现
A,1-2-3-4
B,1-4-3-2
C,1-4-2-3
D,1-3-2-4
正确答案:A
3.什么是Spring MVC?
Spring MVC是一种基于Java的实现了Web MVC设计模式的请求驱动类型的轻量级Web框架,即使用了MVC架构模式的思想,将Web层进行职责解耦,基于请求驱动指的就是使用请求-响应模型,SpringMVC框架的目的就是帮助我们简化开发。
Spring MVC 实现了即用的 MVC 的核心概念。它为控制器和处理程序提供了大量与此模式相关的功能。并且当向 MVC 添加反转控制(Inversion of Control,IoC)时,它使应用程序高度解耦,提供了通过简单的配置更改即可动态更改组件的灵活性。Spring MVC 提供了完全控制应用程序的各个方面的力量。Spring 的 Web MVC 模块是围绕 DispatcherServlet 而设计的。DispatcherServlet 给处理程序分派请求,执行视图解析,并且处理语言环境和主题解析,并且还为上传文件提供支持。
Spring MVC属于Spring Frame Work的后续产品,已经融合在Spring Web Flow里面。Spring框架最初由Rod Johnson撰写,并于2003年6月根据Apache 2.0许可证首次发布。
Spring MVC框架提供了MVC(模型 – 视图 – 控制器)架构和用于开发灵活和松散耦合的Web应用程序的组件。 MVC模式导致应用程序的不同方面(输入逻辑,业务逻辑和UI逻辑)分离,同时提供这些元素之间的松散耦合。
模型(Model)封装了应用程序数据,通常它们将由POJO类组成。视图(View)负责渲染模型数据,一般来说它生成客户端浏览器可以解释HTML输出。控制器(Controller)负责处理用户请求并构建适当的模型,并将其传递给视图进行渲染。
4.关于Spring MVC的核心控制器DispatcherServlet的作用,以下说法错误的是( )
A,它负责接收HTTP请求
B,加载配置文件
C,实现业务操作
D,初始化上下应用对象ApplicationContext
正确答案:C
SpringMVC是Spring中的模块,它实现了mvc设计模式,首先用户发起请求,请求到达SpringMVC的前端控制器(DispatcherServlet),前端控制器根据用户的url请求处理器映射器查找匹配该url的handle,并返回一个执行链,前端控制器再请求处理器适配器调用相应的handle进行处理并返回给前端控制器一个modelAndView,前端控制器再请求视图解析器对返回的逻辑视图进行解析,最后前端控制器将返回的视图进行渲染,并把数据装入到request域,返回给用户。
DispatcherServlet作为SpringMVC的前端控制器,负责接收用户的请求,并根据用户的请求返回相应的视图给用户。实现业务在service层,所以c答案错误。
本文由 @赵云[Vip] 发布于 职涯宝 ,未经作者许可,禁止转载,欢迎您分享文章