题记部分

一、Web 入门

  SpringBoot将传统Web开发的mvc、json、tomcat等框架整合,提供了spring-boot-starter-web组件,简化了Web应用配置。创建SpringBoot项目勾选SpringWeb选项后,会自动将spring-boot-starter-web组件加入到项目中。spring-boot-starter-web启动器主要包括web、webmvc、json、tomcat等基础依赖组件,作用是提供Web开发场景所需的所有底层依赖。webmvc为Web开发的基础框架,json为JSON数据解析组件,tomcat为自带的容器依赖。

<!-- 指定父级项目,子项目的依赖包可以使用父级项目的依赖包版本 -->
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.5.4</version>
</parent>
<properties>
<maven.compiler.source>8</maven.compiler.source>
<maven.compiler.target>8</maven.compiler.target>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<!-- WEB依赖: Tomcat,dispatcherServlet.xml -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>

二、控制器

  SpringBoot 提供了@Controller和@RestController两种注解来标识此类负责接收和处理HTTP请求。如果请求的是页面和数据,使用@Controller注解即可;如果只是请求数据,则可以使用@RestController注解。

三、@Controller的用法

(1)返回hello页面和name的数据,在前端页面可以通过${name}参数获取后台返回的数据并显示。

(2)@Controller通常与Thymeleaf模板引擎结合使用。

package com.harley.controller;

import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.RequestMapping; @Controller
public class HelloController { @RequestMapping("/hello")
public String index(ModelMap map){
map.addAttribute("name","Harley");
return "hello";
} }

四、@RestController的用法

默认情况下,@RestController注解会将返回的对象数据转换为JSON格式。

package com.harley.controller;

import com.harley.entity.User;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController; @RestController
public class HelloController { @RequestMapping("/hello")
public User getUser(){
User user = new User();
user.setUsername("Harley");
user.setPassword("!QAZ2wsx");
return user;
}
}

五、路由映射

  @RequestMapping注解主要负责URL的路由映射。它可以添加在Controller类或者具体的方法上。如果添加在Controller上,则这个Controller中所有路由映射都将会加上此映射规则,如果添加在方法上,则只对当前方法生效。

  @RequestMapping注解包含很多属性参数来定义HTTP的请求映射规则。常用的属性参数如下:

  (1)value:请求的URL路径,支持URL

  (2)method:HTTP请求方法

  (3)consumes:请求的媒体类型(Content-Type),如application/json

  (4)produces:响应的媒体类型

  (5)params,headers:请求的参数及请求头的值

  @RequestMapping的value属性用于匹配URL映射,value支持简单表达式。@RequestMapping支持使用通配符匹配URL,用于统一映射某些URL规则类的请求:@RequestMapping("/getJson/*.json"),当在浏览器中请求/getJson/a.json或者/getJson/b.json时都会匹配到后台的Json方法。@RequestMapping的通配符匹配非常简单实用,支持"*" "?" "**"等通配符。符号"*"匹配任意字符,符号"**"匹配任意路径,符号"?"匹配单个字符。有通配符的优先级低于没有通配符的,比如/user/add.json比/user/*.json优先匹配。有"**"通配符的优先级低于有"*"通配符的。

— 业精于勤荒于嬉,行成于思毁于随 —

SpringBoot - [07] Web入门的更多相关文章

  1. ②SpringBoot之Web综合开发

    Spring boot初级教程 :<SpringBoot入门教学篇①>,方便大家快速入门.了解实践Spring boot特性,本文介绍springBoot的web开发 web开发sprin ...

  2. 【原创】SpringBoot & SpringCloud 快速入门学习笔记(完整示例)

    [原创]SpringBoot & SpringCloud 快速入门学习笔记(完整示例) 1月前在系统的学习SpringBoot和SpringCloud,同时整理了快速入门示例,方便能针对每个知 ...

  3. SpringBoot:Web开发

    西部开源-秦疆老师:基于SpringBoot 2.1.6 的博客教程 , 基于atguigu 1.5.x 视频优化 秦老师交流Q群号: 664386224 未授权禁止转载!编辑不易 , 转发请注明出处 ...

  4. SpringBoot开发快速入门

    SpringBoot开发快速入门 目录 一.Spring Boot 入门 1.Spring Boot 简介 2.微服务 3.环境准备 1.maven设置: 2.IDEA设置 4.Spring Boot ...

  5. SpringBoot之基础入门-专题一

    SpringBoot之基础入门-专题一 一.Spring介绍 1.1.SpringBoot简介 在初次学习Spring整合各个第三方框架构建项目的时候,往往会有一大堆的XML文件的配置,众多的dtd或 ...

  6. 极简SpringBoot指南-Chapter03-基于SpringBoot的Web服务

    仓库地址 w4ngzhen/springboot-simple-guide: This is a project that guides SpringBoot users to get started ...

  7. ctfshow web入门部分题目 (更新中)

    CTFSHOW(WEB) web入门 给她 1 参考文档 https://blog.csdn.net/weixin_51412071/article/details/124270277 查看链接 sq ...

  8. 8、web入门回顾/ Http

    1 web入门回顾 web入门 1)web服务软件作用: 把本地资源共享给外部访问 2)tomcat服务器基本操作      : 启动:  %tomcat%/bin/startup.bat 关闭: % ...

  9. python web入门程序

    python2.x web入门程序 #!/usr/bin/python # -*- coding: UTF-8 -*- # 只在python2.x 有效 import os #Python的标准库中的 ...

  10. Java web 入门知识 及HTTP协议详解

     Java  web  入门知识 及HTTP协议详解 WEB入门 WEB,在英语中web即表示网页的意思,它用于表示Internet主机上供外界访问的资源. Internet上供外界访问的Web资 ...

随机推荐

  1. HTML 面试题

    .code { background-color: rgba(246, 246, 246, 1); color: rgba(232, 62, 140, 1) } DOCTYPE的作用? DOCTYPE ...

  2. 2024年1月Java项目开发指南16:用户自由选择字段查询、是否模糊查询

    我们希望用户可以自己控制是否要模糊查询 用户可以自由的选择字段去查询. 如上图,我在前端页面准备了 多选框:决定是否模糊查询.(True or False) 下拉选择框:决定要查询关键词的所属字段 输 ...

  3. Git+Gitee使用分享

    Git+Gitee快速入门 创建仓库 ​ ​ ​ 初始化本地仓库 验证本地git是否安装好 打开cmd窗口,输入git ​ 这样就OK. Git 全局设置:(只需要设置一次) 这台电脑如果是第一次使用 ...

  4. checker jenkins 启动配置

    chmod -R 755 bin scp target/*.jar ubuntu@x:/home/ubuntu/checker/ scp config/*.yml ubuntu@x:/home/ubu ...

  5. 龙哥量化:通达信常用指标写法macd数值太小怎么办macd的数值是0.01怎么放大

    1.先放公式 MACD 放大坐标系 1000倍 参数 12.26.9DIF:EMA(CLOSE*1000,12)-EMA(CLOSE*1000,26);DEA:EMA(DIF,9);MACD:(DIF ...

  6. Qt/C++编写视频监控系统80-远程回放视频流

    一.前言 远程回放NVR或者服务器上的视频文件,一般有三种方式,第一种是调用厂家的SDK,这个功能最全,但是缺点明显就是每个厂家的设备都有自己的SDK,只兼容自家的设备,如果你的软件需要接入多个厂家的 ...

  7. Qt编写地图综合应用14-离线地图下载

    一.前言 网上其实有很多各种各样的离线地图下载器,大部分都是要收费的,免费的要么是限制了下载的瓦片数量或者级别,要么是下载的瓦片图打上了水印,看起来很难看,由于经常需要用到离线地图,摆脱这个限制,特意 ...

  8. Awesome-Text2GQL:图查询微调语料的自动生成框架

      过去一年,GraphRAG技术发展如火如荼,尤其是基于关键词.向量驱动的知识检索方法不胜枚举.然而通过子图召回的检索方式,对用户真实查询意图的定位仍缺乏足够的准确度.我们需要更直接的方式,将自然语 ...

  9. Solution -「GLR-R4」大暑

    \(\mathscr{Description}\)   Link.   这里有兔以前写的另一个题意,大家可以参考着看看.   你有两个坐标集合 \(X,Y\),\(X=\{(0,y)\mid y\in ...

  10. Solution -「NOI 2017」「洛谷 P3826」蔬菜

    \(\mathscr{Description}\)   Link.   原题意比较简洁了.注意一下卖出的菜也会变质,且让它们代替未卖出的菜变质是更优的. \(\mathscr{Solution}\) ...