springmvc框架(springmvc)

发布网友 发布时间:2024-09-26 02:47

我来回答

1个回答

热心网友 时间:2024-10-03 06:02

什么是springmvc框架

SpringMVC是当前最优秀的MVC框架,自从Spring2.5版本发布后,由于支持注解配置,易用性有了大幅度的提高。Spring3.0更加完善,实现了对Struts2的超越。现在越来越多的开发团队选择了SpringMVC。

Struts2也是非常优秀的MVC构架,优点非常多比如良好的结构,的思想,丰富的功能。但这里想说的是缺点,Struts2由于采用了值栈、OGNL表达式、struts2标签库等,会导致应用的性能下降,应避免使用这些功能。而Struts2的多层、多实例action性能都很好。可以参考我写的一篇关于SpringMVC与Struts2与Servlet比较锋野的文章《Struts2、SpringMVC、Servlet(Jsp)性能对比测试》

Spring3MVC的优点:

1、Spring3MVC使用简单,学习成本低。学习难度小于Struts2,Struts2用不上的多余功能太多。呵呵,当然这不是决定因素。

2、Spring3MVC很容易就可以写出性能优秀的程序,Struts2要处处小心才可以写出性能优秀的程序(指MVC部分)

3、Spring3MVC的灵活是你无法想像的,Spring框架的扩展性有口皆碑,Spring3MVC当然也不会落后,不会因使用了MVC框架而感到有任何的。

Struts2的众多优点:

1、老牌的知名框架,从Struts1起积累了大量用脊慧户群体。技术文档丰富。

2、其它方面略...(呵呵,樱基答是不是不公平?)

Spring的官方下载网址是:

个人对于springmvc框架的理解

以下我的个人理解加上网络上的所查阅资料,对于springmvc框架的一些总结,不足之处还望指出

????在web模型中,MVC是一种很流行的框架,通过把Model,View,Controller分离,把较为复杂的web应用分成逻辑清晰的几部分,是为了简化开发,减少出错,同时也为了组内开发人员之间的配合。总之就是一种分层工作的办法。

(1)用户通过浏览器向服务器发送请求,请求被springmvc的前端控制器DispatcherServlet拦截;

(2)DispatcherServlet拦截到请求后,会调用HandlerMapping处理映射器;

(3)处理器映射器根据请求URL找到具体的处理器,生成处理器对象及处理器(如果有则生成)一并返回给调用处理器DispatcherServlet;

(4)DispatcherServlet会通过返回信息选择合适的滚简HanderAdapter(处理器适配器);

(5)HanderAdapter会调用并执行Handler(处理器),这里的处理器值的就是程序中编写的Controller类,也被称之为后端控制器;

(6)Controller执行完成后,会返回一个ModelAndView对象,该对象中包含视图名或包含模型和视图名

(7)HandlerAdapter将ModelAndView对象返回给DispatcherServlet;

(8)DispatcherServlet会根据ModelAndView对象选择一个合适的ViewReslover(视图解析器)

(9)ViewReslover解析后,会向DispatcherServlet中返回具体的View

(10)DispatcherServlet对view进行渲染(即将模型数据填充至视图中)

(11)视图渲染结果会返回给客户端浏览器显示

(1)DispatcherServlet接口:Spring提供的前端控制器,所有的请求都有经过它来统一分发。在DispatcherServlet将请求分发给SpringController之前,需要借助于Spring提供的HandlerMapping定位到具体的Controller。

(2)HandlerMapping接口:能够完成蠢备迹客户请求到Controller映射。

(3)Controller接口:需要为并发用户处理上述请求,因此实现Controller接口时,必须保证线程安全并且可重用。Controller将处理用户请求,这和StrutsAction扮演的角色是一致的。一旦Controller处理完用户请求,则返回ModelAndView对象给DispatcherServlet前端控制器,ModelAndView中包含了模型(Model)和视图(View)。

从宏观角度考虑,DispatcherServlet是整个Web应用的控制器;从微观考虑,Controller是单个Http请求处理过程中的控制器,而ModelAndView是Http请求过程中返回的模型(Model)和视图(View)。

(4)ViewResolver接口:Spring提供的视图解析器(ViewResolver)在Web应用中查带并找View对象,从而将相应结果渲染给客户。

????是整个SpringMVC的核心。它负责接收HTTP请求组织协调SpringMVC的各个组成部分。其主要工作有以下三项:

(1)截获符合特定格式的URL请求。

(2)初始化DispatcherServlet上下文对应WebApplicationContext,并将其与业务层、持久化层的WebApplicationContext建立关联。

(3)初始化SpringMVC的各个组成组件,并装配到DispatcherServlet中。

SpringMVC

一、SpringMVC应用

1.springmvc是一个表现层的框架

经典三层架构:表现层,service层,dao层。

SpringMVC和Struts2一样,都是为了解决表现层问题的web框架,它们都是基于MVC设计模

式的。而这些表现层框架的主要职责就是处理前端HTTP请求。

SpringMVC本质可以认为是对servlet的封装,简化了我们serlvet的开发

2.工作流程:

开发过程:

请求处理流程:

九大组件:

3.请求参数绑定,说白了SpringMVC是如何接受参数的:

原生servlet接大渣哪梁含收一个整型参数:

SpringMVC框架对Servlet的封装,简化了servlet的很多操作,SpringMVC框架对Servlet的封装,简化了servlet的很多操作

参数绑定:取出参数值绑定到handler?法的形参上

默认支持ServletAPI作为方法参数:

绑定简单类型参数:

绑定Pojo类型参数:

绑定Pojo包装对象参数:

绑定日期类型参数(需要配置自定义类型转换器):

4.Restful风格

什么是Restful:

什么是rest:

Restful的优点:

Restful的特性:

Restful的示例:

SpringMVC如何支持Restful风格的请求:

5.AjaxJson交互

交互:两个方向

什么是Json:

@ResponseBody注解:

分析SpringMVC使用Json交互:

二、SpringMVC高级技术

1.(Inteceptor)使用

、过滤器、的对比:

的执行流程:

多个的执行流程:

自定义SpringMVC:

2.处理multipart形式的数据

文件上传:

3.在控制器中处理异常:

4.基于Flash属性的跨重定向请求数据传递:

三、手写SpringMVC框架:

四、SpringMVC源码剖析

1.前端控制器DispatcherServlet继承结构:

2.重要时机点分析

SpringMVC处理请求的流程即为:

3.核心步骤滚码getHandler方法剖析:

4.核心步骤getHandlerAdapter方法剖析:

5.核心步骤ha.handle方法剖析:

6.核心步骤processDispatchResult方法剖析:

7.SpringMVC九大组件初始化:

五、SSM整合

1.整合策略:先整合Spring+Mybatis,然后再整合SpringMVC

2.Mybatis整合Spring

3.整合SpringMVC

未完待补充完整。。。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com