撩课-Java每天5道面试题第23天
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天的更多相关文章
- 撩课-Java每天5道面试题第13天
撩课Java+系统架构点击开始学习 96.JDBC操作数据库的步骤 ? .加载数据库驱动 .创建并获取数据库链接 .创建jdbc statement对象 .设置sql语句 .设置sql语句中的参数(使 ...
- 撩课-Java每天5道面试题第15天
撩课Java+系统架构点击开始学习 106.什么是Hibernate的并发机制?怎么去处理并发问题? a.Hibernate的Session对象是非线程安全的, 对于单个请求,单个会话, 单个的工作单 ...
- 撩课-Java每天5道面试题第10天
撩课Java+系统架构 视频 点击开始学习 81.Servlet的会话机制? HTTP 是一种无状态协议, 这意味着每次客户端检索网页时, 都要单独打开一个服务器连接, 因此服务器不会记录下 先前客户 ...
- 撩课-Java每天5道面试题第9天
撩课Java+系统架构 视频 点击开始学习 76.XML技术的作用? XML技术用于数据存储. 信息配置. 数据交换三方面. 可以将数据存储在XML中, 通过节点. 元素内容. 属性标示数据内容及关系 ...
- 撩课-Java每天5道面试题第8天
撩课Java+系统架构 视频 点击开始学习 71.jsp有哪些内置对象?作用分别是什么? Page, pageContext, request, response, session, applicat ...
- 撩课-Java每天10道面试题第7天
撩课Java+系统架构 视频 点击开始学习 61.什么是并发修改异常? 什么是并发修改异常: 当我们在遍历实现了collection接口 与iterator接口的集合时(List.Set.Map), ...
- 撩课-Java每天10道面试题第4天
撩课Java+系统架构 视频 点击开始学习 31.静态变量和实例变量的区别? 静态变量也叫类变量, 这种变量前加了static修饰符. 可以直接用类名调用, 也可以用对象调用, 而且所有对象的同一个类 ...
- 撩课-Java每天5道面试题第17天
116.说下Struts的设计模式 MVC模式: web应用程序启动时 就会加载并初始化ActionServler. 用户提交表单时, 一个配置好的ActionForm对象被创建, 并被填入表单相应的 ...
- 撩课-Java每天5道面试题第24天
151.springMVC和struts2的区别有哪些? .springmvc的入口是一个servlet即前端控制器(DispatchServlet), 而struts2入口是一个filter过虑器( ...
随机推荐
- Open GL的学习路程
一.EGL的使用 1.Dispaly与原生窗口的链接 -EGLDisplay eglGetDisplay -EGLBoolean egllinitialize 2.Surface 配置和创建sur ...
- AVFoundation - 拍照(Simple)
1:基础 /* 1:获取可用输入设备 AVCaptureDevice 2:设置输入设备: [AVCaptureDeviceInput deviceInputWithDevice:self.captur ...
- spring JdbcTemplate批量插入以及单个插入时获取id
1. 批量更新插入 jdbcTemplate.batchUpdate(String sql, List<Object[]> batchArgs) Object[]数组的长度为每条记录的参数 ...
- Java直接内存与非直接内存性能测试
什么是直接内存与非直接内存 根据官方文档的描述: A byte buffer is either direct or non-direct. Given a direct byte buffer, t ...
- git修改文件权限方式
查看Repository中文件权限 git ls-tree HEAD 100644 blob 018321abfbff52d175a788597f5b5f3f17f67dc7 .gitignore 1 ...
- Java并发工具类之并发数控制神器Semaphore
Semaphore(信号量)使用来控制通知访问特定资源的线程数量,它通过协调各个线程,以保证合理的使用公共资源. 我们可以这么理解Semaphore,比如一个厕所只有6个坑,同时只能满足6个人上厕所( ...
- Debian&&ubuntu系安装MegaCli
MegaCli这个命令可以用来监控raid状态.磁盘状况等,最近上了一批ubuntu系统跑openstack,问题是MegaCli在官网上只有rpm格式的包,没有deb的包,但是还是有办法解决的,rp ...
- docker安装指定版本TAG的镜像
在docker中安装镜像,一般过程是,docker search 软件名称. 本文以tomcat为例,讲解下载指定版本TAG的tomcat. 搜索tomcat镜像 $ sudo docker sear ...
- (转) DB2 HADR
转自http://www.ibm.com/developerworks/cn/data/library/techarticles/dm-0508luojunkai/ 原文:http://blog.cs ...
- 【链表】Rotate List(三个指针)
题目: Given a list, rotate the list to the right by k places, where k is non-negative. For example:Giv ...