前言
声明:本专栏文章为观看动力节点王鹤老师三大框架的视频所撰写的笔记,笔者实力有限,内容如有错误欢迎各位小伙伴在评论区指出。
视频链接:SSM-SpringMVC
1、MVC设计模式
MVC 设计模式即View-Controller-Model(视图-控制-模型)开发框架。对 Web 服务器来说,用户在地址栏上输入一个网址并点击跳转,就相当于给服务器发送了一个请求,进入了一个MVC的执行流程当中。在这个处理的流程中,
1、服务器获取请求后如何解析用户的请求内容,然后执行相关处理逻辑,最终跳转至正确的页面显示反馈结果,这些是控制层需要考虑并完成的内容。
2、如何将用户的信息从数据库中拿出来并封装在 User 实体类中,是模型层的需要完成的内容。
3、在响应结果显示阶段,如何布局页面以一种美观方便的形式展示给用户,就是视图层需要考虑并完成的任务。
像这样,Controller负责前台(视图层)与后台(模型层)的交互,Model负责用户的输入/输出数据的封装,View负责设计并选择恰当的视图来显示最终的执行结果,这样的层次分明的软件开发和处理流程被称为 MVC 模式。
目前,大型WEB项目中往往采用JSP(页面)+Servlet(控制器)+JavaBean(实体类)来实现MVC模式:
其中,JSP用于数据显示,Servlet用于处理请求,JavaBean用于数据封装。
2、SpringMVC简介
1)SpringMVC是Spring框架提供的一个基于MVC设计模式的web开发框架,设计中采用典型的MVC架构Jsp+servlet+JavaBean的组合。其中,Controller 替换 Servlet 来充当控制器,用于接收请求,调用相应的 Model 进行处理,处理器完成业务处理后返回处理结果。Controller 调用相应的 View 并对处理结果进行视图渲染,最终客户端得到响应信息。
2)SpringMVC有一个核心控制器对象------DispatcherServlet
DispatcherServlet是SpringMVC框架的一个Servlet对象,负责接收请求,响应处理结果,它的父类是HttpServlet,也被叫做前端控制器。
SpringMVC类似于一个管理员,他掌管着各种控制器的创建、使用和销毁,传统开发中需要创建一个Servlet对象作为控制器来处理请求,现在需要通过SpringMVC容器对象这个管理员获取控制器对象代替Servlet处理请求。
3、SpringMVC优点
1)基于MVC架构,层次分离,分工明确;
2)与Spring无缝衔接,能够使用Spring的IOC和AOP,方便整合其他的框架,例如Mybatis、Strusts、JPA等;
3)配置灵活,可以把类当作Bean通过xml文件配置
4)提供了大量的控制器接口和实现类,开发者可以使用 Spring 提供的控制器实现类,也可以自己实现控制器接口;
4、第一个注解的SpringMVC程序
传统的Servlet方式:
1)Jsp接受请求
2)Servlet处理请求
3)Jsp返回结果
SpringMVC注解方式:
1)新建一个web应用
2)载入web依赖:spring-webmvc依赖和Servlet依赖
3&