当前位置: 首页 > news >正文

SpringBoot快速入门(黑马学习笔记)

需求

需求:基于SpringBoot的方式开发一个Web应用,浏览器发起请求/hello后,给浏览器返回字符串"Hello World~"。

开发步骤

第一步:创建SpringBoot工程项目

第二步:定义HelloController类,添加方法hello,并添加注解

第三部:测试运行

创建SpringBoot工程(需要联网)

基于Spring官方骨架,创建SpringBoot工程。

基本信息描述完后,勾选Web开发相关依赖。

点击Finish之后,就会联网创建这个SpringBoot工程,创建好之后,结构如下:

● ==注意:在联网创建过程中,会下载相关资源(请耐心等待)==

定义请求处理类

在com.itheima这个包下创建一个子包controller

然后在controller包下新建一个类:HelloController

package com.itheima.controller;
import org.springframework.web.bind.annotation.*;@RestController
public class HelloController {@RequestMapping("/hello")public String hello(){System.out.println("Hello World ~");return "Hello World ~";}}    

运行测试

运行SpringBoot自动生成的引导类

打开浏览器,输入http://localhost:8080/hello

Web分析

浏览器:

● 输入网址:http://192.168.100.11:8080/hello

    ○ 通过IP地址192.168.100.11定位到网络上的一台计算机

    我们之前在浏览器中输入的localhost,就是127.0.0.1(本机)

    ○ 通过端口号8080找到计算机上运行的程序

    localhost:8080,意思是在本地计算机中找到正在运行的8080端口的程序

    ○ /hello是请求资源位置

        ■ 资源:对计算机而言资源就是数据

            ■ web资源:通过网络可以访问到的资源(通常是指存放在服务器上的数据)

       localhost:8080/hello,意思是向本地计算机的8080端口程序,获取资源位置是/hello的数据

            ■ 8080端口程序,在服务器找/hello位置的资源数据,发给浏览器

服务器:(可以理解为ServerSocket)

    ● 接收到浏览器发送的信息(如:/hello)

    ● 在服务器上找到/hello资源

    ● 把资源发送给服务器

    我们在JavaSE阶段学习网络编程时,有讲过网络三要素:

        ● IP:网络中计算机的唯一标识

        ● 端口:计算机中运行程序的唯一标识

        ● 协议:网络中计算机之间交互的规则

        问题:浏览器和服务器两端进行数据交互,使用什么协议?

        答案:http协议

相关文章:

  • Vue.js+SpringBoot开发超市商品管理系统
  • 基于Springboot + Vue 母婴商城系统
  • SQL库操作
  • Mac使用K6工具压测WebSocket
  • uniapp中在app中清除缓存功能
  • 分布式任务调度的几种实现(Redis实现分布式锁 MySQL实现任务调度 负载均衡)
  • 大语言模型的开山之作—探秘GPT系列:GPT-1-GPT2-GPT-3的进化之路
  • MATLAB环境下一种改进的瞬时频率(IF)估计方法
  • YOLO算法改进Backbone系列之:EfficientViT
  • PYTHON-使用正则表达式进行模式匹配
  • go-zero微服务入门教程
  • LangChain支持哔哩哔哩视频总结
  • 深度学习系列59:文字识别
  • win10 lua环境搭建
  • ubuntu使用LLVM官方发布的tar.xz来安装Clang编译器
  • [微信小程序] 使用ES6特性Class后出现编译异常
  • [原]深入对比数据科学工具箱:Python和R 非结构化数据的结构化
  • 【刷算法】求1+2+3+...+n
  • angular2开源库收集
  • css系列之关于字体的事
  • docker python 配置
  • Git同步原始仓库到Fork仓库中
  • MySQL数据库运维之数据恢复
  • Terraform入门 - 1. 安装Terraform
  • XML已死 ?
  • Zepto.js源码学习之二
  • 从地狱到天堂,Node 回调向 async/await 转变
  • 读懂package.json -- 依赖管理
  • 基于MaxCompute打造轻盈的人人车移动端数据平台
  • 你真的知道 == 和 equals 的区别吗?
  • 删除表内多余的重复数据
  • 腾讯优测优分享 | 你是否体验过Android手机插入耳机后仍外放的尴尬?
  • 微服务入门【系列视频课程】
  • 想晋级高级工程师只知道表面是不够的!Git内部原理介绍
  • 小程序 setData 学问多
  • 在Unity中实现一个简单的消息管理器
  • 自制字幕遮挡器
  • 阿里云ACE认证之理解CDN技术
  • 基于django的视频点播网站开发-step3-注册登录功能 ...
  • ​香农与信息论三大定律
  • # 学号 2017-2018-20172309 《程序设计与数据结构》实验三报告
  • #pragma once
  • (11)MATLAB PCA+SVM 人脸识别
  • (2022版)一套教程搞定k8s安装到实战 | RBAC
  • (26)4.7 字符函数和字符串函数
  • (echarts)echarts使用时重新加载数据之前的数据存留在图上的问题
  • (LeetCode C++)盛最多水的容器
  • (LNMP) How To Install Linux, nginx, MySQL, PHP
  • (Pytorch框架)神经网络输出维度调试,做出我们自己的网络来!!(详细教程~)
  • (附源码)springboot金融新闻信息服务系统 毕业设计651450
  • (强烈推荐)移动端音视频从零到上手(上)
  • (一)Mocha源码阅读: 项目结构及命令行启动
  • (转)IOS中获取各种文件的目录路径的方法
  • * CIL library *(* CIL module *) : error LNK2005: _DllMain@12 already defined in mfcs120u.lib(dllmodu
  • .babyk勒索病毒解析:恶意更新如何威胁您的数据安全