框架部分

来源:互联网 发布:找淘宝网店合作人 编辑:程序博客网 时间: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较多。

原创粉丝点击