乐趣区

关于html:spring-mvc的简单应用

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 剖析

退出移动版