主要介绍了Spring概念、Http协议、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):表示请求的操作类型,如
GET
、POST
、PUT
、DELETE
、HEAD
等。 - 请求目标(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/json
、application/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): 请求体通常用于 POST
、PUT
或 PATCH
请求中,携带需要提交给服务器的数据。例如,在表单提交或 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才能运行
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入门程序,希望对大家有所帮助!!!