146、什么是Spring MVC ?简单介绍下你对springMVC的理解?

Spring MVC是一个基于MVC架构的
用来简化web应用程序开发的应用开发框架,
它是Spring的一个模块,
无需中间整合层来整合 ,
它和Struts2一样都属于表现层的框架。
在web模型中,
MVC是一种很流行的框架,
通过把Model,View,Controller分离,
把较为复杂的web应用分成逻辑清晰的几部分,
简化开发,减少出错,
方便组内开发人员之间的配合。

147、SpringMVC的流程?

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

148.Springmvc的优点:

.它是基于组件技术的。
全部的应用对象,无论控制器和视图,
还是业务对象之类的都是 java组件.
并且和Spring提供的其他基础结构紧密集成. .不依赖于Servlet API(目标虽是如此,
但是在实现的时候确实是依赖于Servlet的) .可以任意使用各种视图技术,
而不仅仅局限于JSP .支持各种请求资源的映射策略 .它应是易于扩展的

149.Spring MVC的有哪些主要组键?

.前端控制器 DispatcherServlet(不需要程序员开发)

作用:接收请求、响应结果 相当于转发器,
有了DispatcherServlet
就减少了其它组件之间的耦合度。 .处理器映射器HandlerMapping(不需要程序员开发) 作用:根据请求的URL来查找Handler .处理器适配器HandlerAdapter 注意:在编写Handler的时候要按照
HandlerAdapter要求的规则去编写,
这样适配器HandlerAdapter
才可以正确的去执行Handler。 .处理器Handler(需要程序员开发) .视图解析器 ViewResolver(不需要程序员开发) 作用:进行视图的解析 根据视图逻辑名解析成真正的视图(view) .视图View(需要程序员开发jsp) View是一个接口,
它的实现类支持不同的视图类型
(jsp,freemarker,pdf等等)

150、springMVC和struts2的区别有哪些?

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

撩课-Java每天5道面试题第23天的更多相关文章

  1. 撩课-Java每天5道面试题第13天

    撩课Java+系统架构点击开始学习 96.JDBC操作数据库的步骤 ? .加载数据库驱动 .创建并获取数据库链接 .创建jdbc statement对象 .设置sql语句 .设置sql语句中的参数(使 ...

  2. 撩课-Java每天5道面试题第15天

    撩课Java+系统架构点击开始学习 106.什么是Hibernate的并发机制?怎么去处理并发问题? a.Hibernate的Session对象是非线程安全的, 对于单个请求,单个会话, 单个的工作单 ...

  3. 撩课-Java每天5道面试题第10天

    撩课Java+系统架构 视频 点击开始学习 81.Servlet的会话机制? HTTP 是一种无状态协议, 这意味着每次客户端检索网页时, 都要单独打开一个服务器连接, 因此服务器不会记录下 先前客户 ...

  4. 撩课-Java每天5道面试题第9天

    撩课Java+系统架构 视频 点击开始学习 76.XML技术的作用? XML技术用于数据存储. 信息配置. 数据交换三方面. 可以将数据存储在XML中, 通过节点. 元素内容. 属性标示数据内容及关系 ...

  5. 撩课-Java每天5道面试题第8天

    撩课Java+系统架构 视频 点击开始学习 71.jsp有哪些内置对象?作用分别是什么? Page, pageContext, request, response, session, applicat ...

  6. 撩课-Java每天10道面试题第7天

    撩课Java+系统架构 视频 点击开始学习 61.什么是并发修改异常? 什么是并发修改异常: 当我们在遍历实现了collection接口 与iterator接口的集合时(List.Set.Map), ...

  7. 撩课-Java每天10道面试题第4天

    撩课Java+系统架构 视频 点击开始学习 31.静态变量和实例变量的区别? 静态变量也叫类变量, 这种变量前加了static修饰符. 可以直接用类名调用, 也可以用对象调用, 而且所有对象的同一个类 ...

  8. 撩课-Java每天5道面试题第17天

    116.说下Struts的设计模式 MVC模式: web应用程序启动时 就会加载并初始化ActionServler. 用户提交表单时, 一个配置好的ActionForm对象被创建, 并被填入表单相应的 ...

  9. 撩课-Java每天5道面试题第24天

    151.springMVC和struts2的区别有哪些? .springmvc的入口是一个servlet即前端控制器(DispatchServlet), 而struts2入口是一个filter过虑器( ...

随机推荐

  1. Day5 作业(完成)

    1,有如下变量(tu是个元祖),请实现要求的功能# tu = ("alex", [11, 22, {"k1": 'v1', "k2": [& ...

  2. JQuery - 动态添加Html后,如何使CSS生效,JS代码可用?

    今天在开发JQuery Mobile程序时候,需要从服务器取得数据,随后显示在页面上的Listview控件中,数据完整获取到了,也动态添加到Listview控件中,但是数据对应的CSS没有任何效果了, ...

  3. Weekly Contest 129

    1020. Partition Array Into Three Parts With Equal Sum Given an array A of integers, return true if a ...

  4. 内置装饰器一:@classmethod、@staticmathod

    使用 @classmethod 和 @staticmathod 后,类的方法的调用 一般来说,要使用某个类的方法,需要先实例化一个对象再调用方法. 而使用@staticmethod或@classmet ...

  5. C#之初识单例模式

    当我们使用QQ的时候就会发现,他可以启动多个QQ,但是有时候,我们不想这样做,这时候我们就需要使用到单例模式. 1.将Form2的构造函数转为私有 using System.Windows.Forms ...

  6. 【bzoj5180】[Baltic2016]Cities 斯坦纳树

    这题一看显然是一个裸的斯坦纳树 我们用$f[i][j]$表示经过的路径中包含了状态$i$所表示的点,且连接了$j$号点的最短路径. 显然,$f[i][j]=min\{f[i$^$k][j]+f[k][ ...

  7. 做了三年的菜鸟web前端的感悟

    作为一名真正的菜鸟我想没有比我更加实在的了,三年之中,虽然做了一二三四五六七个项目,基本都是jQuery写的,但是还是一名不折不扣的菜鸟.这让我很尴尬啊,面对前端大量要学习的东西,真的是很头疼,技术更 ...

  8. script全局变量

    javascript全局变量的生命周期是:直到页面关闭才失效.否则一直有用. 方式1 1 2 var test; var test = 5; 需注意的是该句不能包含在function内,否则是局部变量 ...

  9. Java之集合(十三)WeakHashMap

    转载请注明源出处:http://www.cnblogs.com/lighten/p/7423818.html 1.前言 本章介绍一下WeakHashMap,这个类也很重要.要想明白此类的作用,先要明白 ...

  10. vue-devtools必备工具

    1.github下载地址:https://github.com/vuejs/vue-devtools 2.下载安成之后打开cmd进入vue-devtools文件夹把依赖装好npm install 之后 ...