MVC 是什么
MVC是一种软件架构设计思维,基于MVC架构将咱们的应用软件进行分层设计和实现,例如能够分为视图层(View),管制层(Controller),模型层(Model),通过这样的分层设计让咱们程序具备更好的灵活性和可可扩展性.因为这样能够将一个简单应用程序进行简化,实现各司其职,各尽所能.比拟适宜一个大型利用的开发.
Spring MVC 概述
Spring MVC是MVC设计思维在Spring框架中的一种实现,基于这样的思维spring框架设计了一些相干对象,用于更好的基于MVC架构解决申请和响应,其繁难架构如图所示:
其中:
1)DispatcherServlet是客户端所有申请解决的入口,负责申请转发。
2)RequestMapping负责存储申请url到后端handler对象之间的映射。
3)Handler 用于解决DispatcherServlet对象转发过去的申请数据。
4)ViewResolver负责解决所有Handler对象响应后果中的view。
Spring MVC 疾速入门
筹备工作
第一步:创立我的项目module,根本信息如图所示:
第二步:增加我的项目依赖(能够在module创立时,也能够创立后),代码如下:
Spring Web 依赖(提供了spring mvc反对并且会嵌入一个tomcat)
<!--增加spring web模块依赖反对(这个依赖中默认会嵌套一个tomcat服务器)-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
Thymeleaf 依赖(提供了以html作为页面模板进行解析和操作的相干对象)
<!--spring boot 中默认反对的一个模板引擎,这个引擎能够以html作为模板,
咱们能够在模板上增加thymeleaf自定义的标签属性,而后基于属性操作数据,
这种引擎次要是用于取代jsp技术-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>
第三步:启动我的项目检测控制台启动状态是否OK
static 目录剖析及利用
static 目录为springboot工程创立时增加了web依赖当前主动创立的目录,此目录中能够存储html、css、js、image,这些资源能够在启动服务器当前,间接在浏览器进行拜访。例如:
第一步:在static目录下创立一个index.html页面,代码如下:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<h1>The First Html Page</h1>
</body>
</html>
第二步:启动服务器并间接进行拜访测试,如图所示
templates 目录剖析及利用
templates 目录为springboot工程创立时增加了thymeleaf依赖当前主动创立的目录,此目录中要存储一些html模板,这个模板页面不能间接通过浏览器url进行拜访,须要基于服务端控制器,在办法中定义页面响应,例如:
第一步:定义TemplateController及办法,代码如下:
package com.cy.pj.health.controller;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
@Controller
public class TemplateController {
@RequestMapping("doTemplateUI")
public String doTemplateUI(){
return "default";
}
}
第二步:在templates目录中定义模板页面default.html,代码如下:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<h1>The Default Template page</h1>
</body>
</html>
其中,如果default.html要在放在templates子目录中,则还须要在配置文件中配置thymeleaf的前缀,例如:
spring.thymeleaf.prefix=classpath:/templates/module/
第三步:启动服务进行拜访测试,如图所示:
第四步:拜访过程中的BUG剖析
发表回复