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. 使用libxml2进行xml开发(一)

    (一)Windows下使用MinGW和Code::Blocks环境配置libxml2 笔者此次是在windows 7下使用MinGW和Code::Blocks开发C程式的,手上的一个项目需要使用soc ...

  2. POST与GET请求的区别

    https://www.cnblogs.com/logsharing/p/8448446.html 返回主页 在途中# 博客园首页新随笔联系订阅管理 随笔 - 33 文章 - 5 评论 - 40 GE ...

  3. Mac OS 10.12 - 安装JAVA!

    一,下载JDK: 下载地址:版本1.8.0 http://download.oracle.com/otn-pub/java/jdk/8u121-b13/e9e7ea248e2c4826b92b3f07 ...

  4. “借刀杀人”之CSRF拿下盗图狗后台

    最近我一个做贸易的朋友找到我,他发现自己拍摄的图片又被某个同行盗用了,而且是全站的图片基本都被盗用. 之前对方是引用他的图片链接,后面我给他做了防盗链解决了,现在对方是先下载图片,然后自己上传到服务器 ...

  5. 前端小例子 基础js css html练习

    前情提要: 学前端也有一阵了,个人感觉前端还是重要的. html 学习教程 https://www.cnblogs.com/baili-luoyun/p/10466040.html css 教程 js ...

  6. POJ 1013

    #include"string.h"char left[3][7],right[3][7],result[3][5];bool isHeavy(char x ){    int i ...

  7. ASP.NET5使用FaceBook登录

    原版教程 使用VS2015创建Web应用: 此教程使用的是FaceBook账号登录,需要添加相关的类,打开Nuget: 搜索Microsoft.AspNet.Authentication.Facebo ...

  8. Python -- Gui编程 -- MFC的使用

    1.消息框 mfcDialog.py import win32ui import win32con from pywin.mfc import dialog class MyDialog(dialog ...

  9. 请编写一个C函数,将一个字符串逆序

    目前有两种思路,一个是申请一片辅助空间,然后将原字符串逆向拷贝到辅助空间,然后输出:另一种是原地逆序,不需要额外的辅助空间,方法就是字符串首尾交换. #include <stdio.h> ...

  10. j2ee高级开发技术课程第一周

    一.课程目标 这学期开始了J2EE高级开发技术这门课,在此之前我学习了javaSE,为这门课的学习打下了一定的基础.到这学期的结束我希望我能熟悉javaee,能开发企业级应用,对开发轻量级企业应用的主 ...