SpirngMVC
打卡:日常学习第一天
MVC模型和三层架构
1、MVC模型
1)MVC全名是Model View Controller 模型视图控制器。
2)M 即 Model(模型):表示应用程序核心。是数据模型,javaBean的类,主要进行数据的封装,
3)V 即 View(视图):表示显示数据。是指JSP、HTML等页面用来展示数据给用户。
4)C 即 Controller(控制器):表示应用程序中处理用户交互的部分。用来接收用户的请求,用来进行数据校验等,整个流程的控制器。
2、三层架构
对于开发服务器端的程序,一般有两种形式:① B/S(浏览器和服务端) ② C/S(客户端和服务器端)
以下为基于B/S分成的三层架构
1)持久层(也称Dao层):主要是用于与数据库进行交互的一系列操作。
2)业务层(也称Service层):主要用于处理一些具体的业务逻辑问题。
3)表现层(也称web层):主要和客户端进行数据的交互。
初步认识SpringMVC
1、SpringMVC是什么?
①SpringMVC是一种基于 Java 的实现 MVC 设计模型的请求驱动类型的轻量级 Web 框架,属于 Spring FrameWork 的后续产品,
②SpringMVC一种轻量级的、基于MVC的Web层应用框架。
③SpringMVC 已经成为目前最主流的 MVC 框架之一,并且随着 Spring3.0 的发布,全面超越 Struts2,成为最优秀的 MVC 框架。
④它支持RESTful 编程风格的请求
******spring框架结构图如下所示:
SpringMVC 第一个入门案例
01-导入依赖
<dependencies>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>5.2.5.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-aspects</artifactId>
<version>5.2.5.RELEASE</version>
</dependency>
<dependency>
<groupId>org.aspectj</groupId>
<artifactId>aspectjweaver</artifactId>
<version>1.9.5</version>
</dependency>
</dependencies>
02-在web.xml中配置前端控制器
03-在spring-mvc.xml中配置 前端视图解析器
04-编写入门案例
1) 类
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
@Controller
public class HelloDemo {
/**
* @RequestMapping("/hello") 映射路径
* @param name 相当于request.getParameter("name")
* @param model 用于存储数据,类似于request.setAttribute("name",name)
* @return
*/
@RequestMapping("/hello")
public String sayHello(String name, Model model){
//model 存储name 数据,
model.addAttribute("name",name);
//返回视图页面
return "hello";
}
}
2) jsp页面
3)实现运行效果
入门案例的执行过程
在SpringMVC中常用的一些组件
常用主要组件
1)DispatcherServlet:前端控制器
2)Controller:处理器/页面控制器,做的是MVC中的C的事情,但控制逻辑转移到前端控制器了,用于对请求进行处理
3)HandlerMapping :请求映射到处理器,找谁处理,如果映射成功返回一个HandlerExecuiongChain对象。
4)ViewResolver : 视图解析器,找谁来处理返回的页面。
5)如InternalResourceViewResolver将逻辑视图名映射为JSP视图
6)LocalResolver:本地化、国际化
7)MultipartResolver:文件上传解析器
8)HandlerExceptionResolver:异常处理器