SpringBootWeb入门

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



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


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

步骤:
①. 创建springboot工程,并勾选web开发相关依赖。
②. 定义HelloController类,添加方法 hello,并添加注解。
③. 运行测试



HTTP协议
1. HTTP概述
HTTP 协议(Hypertext Transfer Protocol,超文本传输协议),是一个客户端请求和响应的标准协议,这个协议详细规定了浏览器和万维网服务器之间互相通信的规则。用户输入地址和端口号之后就可以从服务器上取得所需要的网页信息。
HTTP中最重要的就是HTTP协议格式,分为请求协议和响应协议。
通信规则规定了客户端发送给服务器的内容格式,也规定了服务器发送给客户端的内容格式。客户端发送给服务器的格式叫“请求协议(request)
”;服务器发送给客户端的格式叫“响应协议(response)
”。
2. HTTP特点
基于TCP协议:面向连接,安全
基于请求-响应模型的:一次请求对应一次响应
HTTP协议是无状态的协议:对于事务处理没有记忆能力。每次请求-响应都是独立的。
缺点:多次请求间不能共享数据。
优点:速度快
3. HTTP之URL
URL作用:HTTP协议工作于客户端-服务端架构上。浏览器作为HTTP客户端通过URL向HTTP服务端即WEB服务器发送所有请求。
URL就是浏览器的书写格式。
基本URL包含模式(或称协议)、服务器名称(或IP地址)、路径和文件名,如“协议://授权/路径?查询”。
URL由三部分组成:资源类型、存放资源的主机域名、资源文件名。
也可认为由4部分组成:协议、主机、端口、路径。
4. HTTP协议格式

4.1 HTTP请求协议
HTTP请求由三部分组成,分别是:请求行、请求头(请求报头)、请求体(请求正文)。
HTTP-请求数据格式



请求行:请求数据第一行 (请求方式、资源路径、协议)
请求头:第二行开始,格式key:value
请求体:POST请求,存放请求参数
请求方式-GET : 请求参数在请求行中,没有请求体,如:/brand/findAll?name=OPPO&status=1。GET请求大小是有限制的。
请求方式-POST : 请求参数在请求体中,POST请求大小是没有限制的。

4.2 HTTP-响应协议
请求响应介绍-HTTP响应格式

响应行:响应数据第一行(协议、状态码、描述)
响应头:第二行开始,格式key:value
响应体:最后一部分,存放响应数据


常见的响应状态码
200 OK :
客户端请求成功,即处理成功,这是我们最想看到的状态码
302 Found :
指示所请求的资源已移动到由Location响应头给定的 URL,浏览器会自动重新访问到这个页面
304 Not Modified :
告诉客户端,你请求的资源至上次取得后,服务端并未更改,你直接用你本地缓存吧。隐式重定向
400 Bad Request :
客户端请求有语法错误,不能被服务器所理解
403 Forbidden :
服务器收到请求,但是拒绝提供服务,比如:没有权限访问相关资源
404 Not Found :
请求资源不存在,一般是URL输入有误,或者网站资源被删除了
405 Method Not Allowed :
请求方式有误,比如应该用GET请求方式的资源,用了POST
428 Precondition Required :
服务器要求有条件的请求,告诉客户端要想访问该资源,必须携带特定的请求头
429 Too Many Requests :
指示用户在给定时间内发送了太多请求(“限速”),配合 Retry-After(多长时间后可以请求)响应头一起使用
431 Request Header Fields Too Large :
请求头太大,服务器不愿意处理请求,因为它的头部字段太大。请求可以在减少请求头域的大小后重新提交
500 Internal Server Error :
服务器发生不可预期的错误。服务器出异常了,赶紧看日志去吧
503 Service Unavailable :
服务器尚未准备好处理请求,服务器刚刚启动,还未初始化好


5. HTTP工作流程
一次HTTP操作称为一个事务,其工作过程可分为四步:
1)首先客户机与服务器需要建立连接。只要单击某个超级链接,HTTP的工作开始。
2)建立连接后,客户机发送一个请求给服务器,请求方式的格式为:统一资源标识符(URL)、协议版本号,后边是MIME信息包括请求修饰符、客户机信息和可能的内容。
3)服务器接到请求后,给予相应的响应信息,其格式为一个状态行,包括信息的协议版本号、一个成功或错误的代码,后边是MIME信息包括服务器信息、实体信息和可能的内容。
4)客户端接收服务器所返回的信息通过浏览器显示在用户的显示屏上,然后客户机与服务器断开连接。
如果在以上过程中的某一步出现错误,那么产生错误的信息将返回到客户端,有显示屏输出。对于用户来说,这些过程是由HTTP自己完成的,用户只要用鼠标点击,等待信息显示就可以了。

Tomcat
概念: Tomcat是Apache 软件基金会一个核心项目,是一个开源免费的轻量级Web服务器,支持Servlet/JSP少量JavaEE规范。
Tomcat 也被称为 Web容器、Servlet容器。Servlet程序需要依赖于 Tomcat才能运行
官网:https://tomcat.apache.org/

Tomcat-基本使用
下载:官网下载
安装:绿色版,直接解压即可
卸载:直接删除目录即可
启动:双击:bin\startup.bat
关闭:
直接×掉运行窗口:强制关闭
bin\shutdown.bat:正常关闭
Ctrl+C:正常关闭

SpringBootWeb-入门程序解析

起步依赖:
在SpringBootWeb开发环境中,已经把Tomcat集成进来了,我们叫做内嵌Tomcat,我们在实际开发中,基本上是用内嵌Tomcat

小结
1.Web服务器
对HTTP协议操作进行封装,简化web程序开发。
部署web项目,对外提供网上信息浏览服务。
2.Tomcat
一个轻量级的web服务器,支持servlet、jsp等少量javaEE规范。
也被称为web容器、servlet容器。
3.起步依赖
spring-boot-starter-web
spring-boot-starter-test
4.内嵌Tomcat服务器
基于Springboot开发的web应用程序,内置了tomcat服务器,当启动类运行时,会自动启动内嵌的tomcat服务器。