框架部分
来源:互联网 发布:找淘宝网店合作人 编辑:程序博客网 时间:2024/05/22 09:08
1、什么是框架
IT语境中的框架特指,为解决一个开放性的问题而设计的具有一定约束性的支撑结构。在此结构上可以根据具体问题进行拓展、安插更多的组成部分,从而更迅速和方便的构建完整的解决问题的方案。
2、MVC模式
MVC全名是Model View Controller,是模型(Model )、视图(View )、控制器(Controller)的缩写。
最经典、最简单的就是 Jsp(view)+Servlet(controller)+JavaBean(Model)
1、当控制器收到来自用户的请求
2、控制器调用JavaBean完成业务
3、完成业务后通过控制器跳转JSP页面的方式给用户反馈信息
4、JSP就给用户做出响应
控制器都是核心
3、你对MVC框架的理解
是为了解决传统MVC模式(JSP+Servlet+JavaBean)问题出血的框架。
比较常用的框架有:Struts2 Spring MVC
4、SpringMVC的执行流程
1、用户向服务器发送请求,请求被Spring前端控制 Servelt DispathcherServlet捕获。(捕获)
2、DispatcherServlet对请求URL进行解析,得到请求资源标识符(URL)。然后根据该URL,调用HandlerMapping获得该Handler配置的所有相关的对象(包括Handler对象已经Handler对象对应的拦截器),最后以HandlerExecutionChain对象的形式返回。(查找Handler)
3、DispatcherServlet根据获得的Handler,选择一个合适的HandlerAdapter。提取Request中的模型数据,填充Handler入参,开始执行Handler(Controller),Handler执行完成后,向DispatcherServlet返回一个ModeAndView对象。(执行Handler)
4、DispatcherServlet根据返回的ModelAndVier,选择一个适合的ViewResolver(必须是已经注册到Spring容器中的ViewResolver)(选择ViewResolver)(选择ViewResolver)
5、通过ViewResonlver结合Model和View,来渲染视图,DispatcherServlet将渲染效果返回给客户端(渲染返回)
核心控制器捕获请求、查找Handler、执行Handler、选择ViewResonlver,通过ViewResolver渲染视图并返回。
5、SpringMVC和Struts2的不同之处
1、核心控制器(前端控制器、预处理控制器)处理所有请求。SpringMVC是Servlet。Struts2是Filter。
2、控制器实例:SpringMVC是基于方法设计,而Struts2是基于对象。
Struts2每次发一次请求都会实例一个action,每个action都会被注入。
SpringMVC更像Servlet一样,只有一个实例,每次请求执行对应的方法即可。
3、管理方式:大部分公司的核心架构中,都会使用到Spring,而SpringMVC又是Spring中的一个模块,所以Spring对于SpringMVC的控制器管理更加简单方便,而Struts2需采用XML很多的配置参数来管理很复杂。
4、参数传递:Struts2中自身提供多种参数接受,其实都是通过(ValueStack值栈)进行传递和赋值,而SpringMVC是通过方法的参数进行接收。
5、学习难度:Struts2更加很多新的技术点,比如拦截器、值栈及OGNL表达式,学习成本较高。SpringMVC比较简单,较少的时间都可以上手。
6、intercepter的实现机制:Struts2有自己的intercepter机制,SpringMVC用的是独立的AOP方式。
7、SpringMVC处理AJAX请求,直接通过返回数据,方法中使用注解@ResponseBoby,SpringMVC自动帮我们对象转换为Json数据。而Struts2是通过插件的方式进行处理。
在SpringMVC流行起来之前,Struts2在MVC框架中占核心地位,随着SpringMVC的出现,SpringMVC慢慢的取代了Struts2,很多企业都是原来搭设的框架,使用Struts2较多。
- 部分框架
- 框架部分
- NGUI框架部分总结
- 部分php框架pk
- IoC框架----理论部分
- IoC框架----实践部分
- 集合框架List部分
- 网易新闻部分框架
- JUC框架部分小结
- 面试框架部分总结
- MyBatis框架sql部分
- java_框架部分
- Jquery框架核心部分例子
- Jquery框架核心部分例子 .
- CI框架学习第二部分
- SSHM框架之MVC部分
- 第一部分:spring框架概述
- 【hibernate框架】EJBQL第一部分
- 4 表达式与定义(Expressions and Definitions)
- JavaScript Math 对象
- 5 Programmer-Defined Datatypes
- 6 Modules -- 模块
- Gstreamer官方教程汇总基本教程3---Dynamic pipelines
- 框架部分
- 工业大数据漫谈18:工业大数据数据采集常见的工业协议简介(上)
- 7 Contracts
- 简单xsd实例
- Java 内存管理和垃圾回收机制
- win7下ftp时跳至chrome浏览器问题的修复
- oracle 中sql like下划线 _ 查询
- ubuntu 14.04快速现实桌面图标
- 8 Input and Output