博客
关于我
SpringMVC初认识
阅读量:271 次
发布时间:2019-03-01

本文共 1292 字,大约阅读时间需要 4 分钟。

SpringMVC初认识

1.什么是MVC

​ a.MVC是模型(Model)、视图(View )、控制器(Controller)的简写,是一种软件设计规范。

​ b.是将业务逻辑、数据、显示分离的方法来组织代码

​ c.MVC主要作用是降低了视图与业务逻辑间的双向耦合

​ d.MVC不仅仅是一种设计模式,更是一种架构模式

2.第一个SpringMVC程序

​ a.新建一个Moudle,添加web支持

​ b.写一个视图 test.jsp 显示数据${msg}

​ c.确定导入了SpringMVC的依赖,以及在lib文件夹中的依赖

​ d.在web.xml中配置DispatcherServlet:这个是SpringMVC的核心:请求分发器,前端控制器

​ e.编写SpringMVC的配置文件:springmvc-servlet.xml (名称按照官方规定)

​ f.在配置文件中 添加处理器映射器、处理器适配器和视图解析器(SpringMVC核心三要素)

​ g.Controller层实现业务代码和视图跳转

2.1 SpringMVC的优点

  • 可以支持各种视图技术,而不仅仅局限于JSP;

  • 与Spring框架集成(如IoC容器、AOP等);

  • 清晰的角色分配:前端控制器(dispatcherServlet) , 请求到处理器映射(handlerMapping), 处理器适配器(HandlerAdapter), 视图解析器(ViewResolver)。

  • 支持各种请求资源的映射策略。

3.SpringMVC执行流程

​ a.DispatcherServlet表示前置控制器,是整个SpringMVC的控制中心,接受用户发出的请求并拦截

​ 假设请求的url为:http://localhost://8080/SpringMVC/hello

​ 其中:http://localhost:8080 为服务器域名

​ SpringMVC为部署在服务器上的web站点

​ hello表示控制器

​ 如上的url表示请求位于服务器localhost:8080上的SpringMVC站点的hello控制器

​ b.HandlerMapping表示处理器映射,DispatcherServlet自己调用

​ HandlerMapping根据请求url去寻找Handler

​ c.HandlerExecution表示具体的Handler,其主要作用是根据url寻找具体的控制器,在上面的例子中控制器是hello,

​ d.HandlerExecution将解析后的信息返回给DispatcherServlet

​ e.HandlerAdapter表示处理器适配器,其按照特定规则去执行Handler(就是去寻找Controller)

​ f.Controller将具体的执行信息返回给HandlerAdapter,比如:ModelAndView

​ g.DispatcharServlet调用视图解析器(ViewResolver)解析HandlerAdapter传递的逻辑视图名

​ h.DispatcharServlet根据视图解析器解析的视图结果,调用具体视图

​ i.最终视图呈现给用户

转载地址:http://fyox.baihongyu.com/

你可能感兴趣的文章
MySQL binlog三种模式
查看>>
multi-angle cosine and sines
查看>>
Mysql Can't connect to MySQL server
查看>>
mysql case when 乱码_Mysql CASE WHEN 用法
查看>>
Multicast1
查看>>
mysql client library_MySQL数据库之zabbix3.x安装出现“configure: error: Not found mysqlclient library”的解决办法...
查看>>
MySQL Cluster 7.0.36 发布
查看>>
Multimodal Unsupervised Image-to-Image Translation多通道无监督图像翻译
查看>>
MySQL Cluster与MGR集群实战
查看>>
multipart/form-data与application/octet-stream的区别、application/x-www-form-urlencoded
查看>>
mysql cmake 报错,MySQL云服务器应用及cmake报错解决办法
查看>>
Multiple websites on single instance of IIS
查看>>
mysql CONCAT()函数拼接有NULL
查看>>
multiprocessing.Manager 嵌套共享对象不适用于队列
查看>>
multiprocessing.pool.map 和带有两个参数的函数
查看>>
MYSQL CONCAT函数
查看>>
multiprocessing.Pool:map_async 和 imap 有什么区别?
查看>>
MySQL Connector/Net 句柄泄露
查看>>
multiprocessor(中)
查看>>
mysql CPU使用率过高的一次处理经历
查看>>