Web入门
前面介绍了三剑客(HTML,CSS,JavaScript),Axios,Vue和Element,本篇将带你快速了解并使用SpringBoot创建工程,以及介绍http协议还有Tomcat服务器。
一、SpringBoot入门
1、概述
SpringBoot是由Pivotal团队提供的全新框架,其设计目的是用来简化Spring应用的初始搭建以及开发过程,加速Spring开发
Spring官网:https://spring.io/
2、SpringBootWeb快速入门
2.1 需求
使用SpringBoot开发一个web应用,浏览器发起请求 /hello后,给浏览器返回字符串”Hello World ~”。
2.2 开发步骤
1)创建springboot工程,并勾选web开发相关依赖(Spring Web)。步骤如下
然后点击 Finish,就会联网创建SpringBoot项目。创建完成后,删除工程下不必要的文件,这样看起来更加简洁。
2)定义HelloController类,添加方法hello,并添加注解。
对应的代码如下
1 | package com.itweb.controller; |
3)运行测试
运行启动类
打开浏览器测试,可以看到浏览器和控制台都输出了 Hello World~
2.3 相关说明
1)最简SpringBoot程序所包含的基础文件
- pom.xml文件
- Application类
2)创建SpringBoot工程(两种方式)
- idea创建:基于 idea开发 SpringBoot程序要确保联网且能够加载到程序框架结构
- 官网创建:进入Spring官网(spring.io),找到 Spring Boot–Quickstart Your Project–Spring Initializr
二、HTTP协议
1、概述
1.1 概念
HTTP(HyperText Transfer Protocol),超文本传输协议,规定了浏览器和服务器之间数据传输的规则
1.2 特点
1)基于TCP协议:面向连接,安全
2)基于请求-响应模型的:一次请求对应一次响应
3)HTTP协议是无状态的协议:对于事务处理没有记忆能力。每次请求-响应都是独立的。
- 缺点:多次请求间不能共享数据。Java中使用会话技术(Cookie、Session)来解决这个问题
- 优点:速度快
注:HTTP协议默认端口号为80
2、HTTP-请求协议
2.1 HTTP-请求数据格式
1)请求数据分为3部分
- 请求行:请求数据的第一行。其中GET表示请求方式,/表示请求资源路径,HTTP/1.1表示协议版本
- 请求头:第二行开始,格式为key: value形式。
- 请求体::POST请求的最后一部分,存放请求参数
2)常见的HTTP请求头(了解即可)
相关说明如下
- Host:表示请求的主机名
- User-Agent:浏览器版本,例如Chrome浏览器的标识类似Mozilla/5.0 …
- Chrome/79,IE浏览器的标识类似Mozilla/5.0 (Windows NT ..) like Gecko;
- Accept:表示浏览器能接收的资源类型,如 text/*,image/* 或者 */* 表示所有;
- Accept-Language:表示浏览器偏好的语言,服务器可以据此返回不同语言的网页;
- Accept-Encoding:表示浏览器可以支持的压缩类型,例如gzip, deflate等。
- Content-Type:请求主体的数据类型。
- Content-Length:请求主体的大小(单位:字节)
3)GET请求和POST请求区别(重点)
GET请求:请求参数在请求行中,没有请求体。如:/brand/findAll?name=OPPO&status=1。
POST请求:请求参数在请求体中
GET请求请求参数大小有限制,POST没有
3、HTTP-响应协议
3.1 HTTP-响应数据格式
1)响应数据分为3部分:
- 响应行:响应数据的第一行。其中HTTP/1.1表示协议版
- 响应头:第二行开始,格式为key: value形式
- 响应体:最后一部分,存放响应数据
2)常见响应头
3.2 状态码分类
如下
1 | 信息响应 (100–199) |
3.3 常见状态码
1)404:服务器找不到请求的资源。
2)500:服务器遇到了不知道如何处理的情况。
常见的整理如下表
状态码大全:https://cloud.tencent.com/developer/chapter/13553
三、Tomcat
1、Web服务器
1.1 概述
Web服务器是一个软件程序,对HTTP协议的操作进行封装,使得程序员不必直接对协议进行操作,让web开发更加便捷。主要功能是”提供网上信息浏览服务”。
1.2 作用
1)封装HTTP协议操作,简化开发
2)可以将web项目部署到服务器中,对外提供网上浏览服务
2、Tomcat
2.1 概述
Tomcat是一个轻量级的Web服务器,支持Servlet/JSP少量JavaEE规范,也称为Web容器,Servlet容器
官网:https://tomcat.apache.org/
2.1 使用
1)下载压缩包并解压
进入官网下载,如下
下载完成后,复制压缩包到一个没有中文,不带空格的路径下(如我的直接放在D盘根目录下)。右键 ->解压到当前文件夹。
2)目录说明
3)启动Tomcat
启动:双击 bin\startup.bat
启动后发现控制台中文乱码,解决:
修改 conf/logging.properties,将51行的 UTF-8 改为 GBK
再次启动,由于 Tomcat默认占用的是 8080端口,所以浏览器直接访问:http://localhost:8080/ ,访问成功如下
注:启动过程中可能会遇到的常见问题和解决方案
4)关闭方式
- 直接x掉运行窗口: 强制关闭
- bin\shutdown.bat: 正常关闭
- ctrl+c: 正常关闭
5)配置Tomcat端口号(conf/server.xml)
打开 conf目录下的server.xml文件,定位到 69行,可根据需要自行修改端口号。
注:HTTP协议默认端口号为80,如果将Tomcat端口号改为80,则以后再访问Tomcat时,可以不用输入端口号
四、SpringBoot入门程序解析
1、起步依赖
1)spring-boot-starter-web
包含了web应用开发所需要的常见依赖。
2)spring-boot-starter-test
包含了单元测试所需要的常见依赖。
2、内嵌的Tomcat服务器
基于Springboot开发的web应用程序,内置了tomcat服务器,当启动类运行时,会自动启动内嵌的tomcat服务器。