博客
关于我
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/

你可能感兴趣的文章
multiprocessing.Manager 嵌套共享对象不适用于队列
查看>>
multiprocessing.pool.map 和带有两个参数的函数
查看>>
MYSQL CONCAT函数
查看>>
multiprocessing.Pool:map_async 和 imap 有什么区别?
查看>>
MySQL Connector/Net 句柄泄露
查看>>
multiprocessor(中)
查看>>
mysql CPU使用率过高的一次处理经历
查看>>
Multisim中555定时器使用技巧
查看>>
MySQL CRUD 数据表基础操作实战
查看>>
multisim变压器反馈式_穿过隔离栅供电:认识隔离式直流/ 直流偏置电源
查看>>
mysql csv import meets charset
查看>>
multivariate_normal TypeError: ufunc ‘add‘ output (typecode ‘O‘) could not be coerced to provided……
查看>>
MySQL DBA 数据库优化策略
查看>>
multi_index_container
查看>>
MySQL DBA 进阶知识详解
查看>>
Mura CMS processAsyncObject SQL注入漏洞复现(CVE-2024-32640)
查看>>
Mysql DBA 高级运维学习之路-DQL语句之select知识讲解
查看>>
mysql deadlock found when trying to get lock暴力解决
查看>>
MuseTalk如何生成高质量视频(使用技巧)
查看>>
mutiplemap 总结
查看>>