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

SpringBootWeb入门-HTTP协议、Tomcat下载、基本使用、入门程序解析

主要介绍了Spring概念、Http协议、SpringbootWeb入门程序!!!

文章目录

前言

Spring

SpringBootWeb入门

 HTTP协议

概述

HTTP-请求数据格式

HTTP响应格式

​编辑 HTTP-协议解析

 Tomcat

 Web服务器

 Tomcat基本使用

 SpringBootWeb-入门程序解析

总结


前言

主要介绍了Spring概念、Http协议、SpringbootWeb入门程序!!!


Spring

官网:spring.io 

Spring 是一个广泛使用的开源框架,主要用于简化 Java 企业级应用程序的开发。它提供了一系列功能,旨在帮助开发人员更高效地创建、管理和测试 Java 应用程序。

Spring发展到今天已经形成了一种开发生态圈,Spring提供了若干个子项目,每个项目用于完成特定的功能。

 

Spring Boot 可以帮助我们非常快速的构建应用程序、简化开发、提高效率 

SpringBootWeb入门

需求:使用 SpringBoot 开发一个web应用,浏览器发起请求 /hello后,给浏览器返回字符串 "Hello World ~"。 

  •  创建springboot工程,并勾选web开发相关依赖。

  • 定义HelloController类,添加方法 hello,并添加注解

  • 运行测试 

 

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

 

 HTTP协议

概述

概念:Hyper Text Transfer Protocol,超文本传输协议,规定了浏览器和服务器之间数据传输的规则。

特点:

  • 基于TCP协议:面向连接,安全
  • 基于请求-响应模型的:一次请求对应一次响应
  • HTTP协议是无状态的协议:对于事务处理没有记忆能力。每次请求-响应都是独立的。

缺点:多次请求间不能共享数据。

优点:速度快 

HTTP-请求数据格式

请求行:请求数据第一行                    (请求方式、资源路径、协议)

请求行(Request Line)

  • 方法(Method):表示请求的操作类型,如 GETPOSTPUTDELETEHEAD 等。
  • 请求目标(Request Target):通常是请求的 URL 路径,比如 /index.html
  • HTTP 版本(HTTP Version):指定所使用的 HTTP 协议版本,如 HTTP/1.1 或 HTTP/2

请求头:第二行开始,格式key:value  

请求头(Request Headers): 请求头包含了一系列键值对,用于提供关于请求的额外信息或客户端的信息。常见的请求头包括:

  • Host:请求的主机名和端口号。
  • User-Agent:客户端软件的信息(浏览器、操作系统等)。
  • Accept:客户端可以处理的内容类型。
  • Content-Type:请求体的媒体类型(如 application/jsonapplication/x-www-form-urlencoded)。
  • Authorization:用于携带认证信息。
  • Cookie:客户端存储的 cookies 信息。
Host: www.example.com
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8

请求体(Request Body): 请求体通常用于 POSTPUTPATCH 请求中,携带需要提交给服务器的数据。例如,在表单提交或 JSON 数据传输时,请求体就包含了实际的数据内容。请求体的格式由 Content-Type 请求头指定。 

请求方式-GET: 请求参数在请求行中,没有请求体,如:/brand/findAll?name=OPPO&status=1。GET请求大小是有限制的。 请求方式-POST: 请求参数在请求体中,POST请求大小是没有限制的。 

HTTP响应格式

 

响应行:响应数据第一行(协议、状态码、描述)

响应头:第二行开始,格式key:value

响应体:最后一部分,存放响应数据

 

 HTTP-协议解析

概念:Hyper Text Transfer Protocol,超文本传输协议,规定了浏览器和服务器之间数据传输的规则。

 Tomcat

 Web服务器

Web服务器是一个软件程序,对HTTP协议的操作进行封装,使得程序员不必直接对协议进行操作,让Web开发更加便捷。主要功能是 "提供网上信息浏览服务" 。

概念: Tomcat是Apache 软件基金会一个核心项目,是一个开源免费的轻量级Web服务器,支持Servlet/JSP少量JavaEE规范。

JavaEE:Java Enterprise Edition,Java企业版。指Java企业级开发的技术规范总和。包含13项技术规范:JDBC、JNDI、EJB、RMI、JSP、Servlet、XML、JMS、Java IDL、JTS、JTA、JavaMail、JAF

Tomcat 也被称为 Web容器、Servlet容器。Servlet程序需要依赖于 Tomcat才能运行

官网:https://tomcat.apache.org/

 Tomcat基本使用

  • 下载:官网下载,地址 https://tomcat.apache.org/download-90.cgi
  • 安装:绿色版,直接解压即可
  • 卸载:直接删除目录即可
  • 启动:双击:bin\startup.bat    

控制台中文乱码:修改conf/ logging.properties

 关闭:

  • 直接×掉运行窗口:强制关闭
  • bin\shutdown.bat:正常关闭
  • Ctrl+C:正常关闭

 常见问题:

  • 启动窗口一闪而过:检查JAVA_HOME环境变量是否正确配置
  • 端口号冲突:找到对应程序,将其关闭掉
  • 配置Tomcat端口号(conf/server.xml) 

 注意事项:HTTP协议默认端口号为80,如果将Tomcat端口号改为80,则将来访问Tomcat时,将不用输入端口号 。

  • Tomcat 部署项目: 将项目放置到 webapps 目录下, 即部署完成

 SpringBootWeb-入门程序解析

起步依赖:

spring-boot-starter-web:包含了web应用开发所需要的常见依赖。

spring-boot-starter-test:包含了单元测试所需要的常见依赖。

官方提供的starter:https://docs.spring.io/spring-boot/docs/2.7.4/reference/htmlsingle/#using.build-systems.starters 

 


总结

上述主要介绍了Spring概念、Http协议、SpringbootWeb入门程序,希望对大家有所帮助!!!


http://www.mrgr.cn/news/12196.html

相关文章:

  • 每天一个数据分析题(四百九十九)- 数据集
  • EmguCV学习笔记 VB.Net 6.S 特别示例
  • # 移动硬盘误操作制作为启动盘数据恢复问题
  • JVM知识点记录
  • jQuery 事件
  • 【UE5】库存系统——01
  • MySQL集群技术4——MySQL路由
  • 什么是令牌桶算法?工作原理是什么?使用它有哪些优点和注意事项?
  • 探索Objective-C中的富文本世界:NSAttributedString与NSMutableAttributedString
  • 这几天旅游去了,刚回来,有几点感想
  • Java框架myBatis(三)
  • Hadoop: Mapreduce了解
  • ZooKeeper可视化工具
  • 如何在项目中配置.gitignore文件
  • SpringBoot集成kafka-生产者发送消息
  • 十一:C语言-操作符详解
  • Redis windows 指定端口的方式启动
  • 通过重构得到更深层的理解
  • Excel的使用总结3
  • C++ TinyWebServer项目总结(11. 定时器)