SpringBootWeb入门

一、SpringBootWeb入门

1.1 介绍

  1. 官网:https://spring.io/

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

  3. SpringBoot

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

1.2 SpringBootWeb快速入门吧

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

二、HTTP协议

2.1 HTTP-概述

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

  2. 特点:

    • 基于TCP协议:面向连接,安全
    • 基于请求-响应模型的:一个请求对应一次相应
    • HTTP协议是无状态的协议:对于事物处理没有记忆能力。每次请求-响应都是独立的
      • 缺点:多次请求间不能共享数据
      • 优点:速度快

2.2 HTTP-请求协议

  1. HTTP-请求数据格式

  2. 常见请求头代表的含义:

    请求头 含义
    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 请求主体的大小(单位:字节)

2.3 HTTP-响应协议

  1. HTTP-响应数据格式

  2. 常见状态码

    状态码 含义
    200 客户端请求成功
    404 请求资源不存在,一般是 URL 输入有误,或者网站资源被删除了
    500 服务器发生不可预期的错误
  3. 常见响应头:

    响应头 含义
    Content-Type 表示响应内容的类型,例如text/html,application/json
    Content-Length 表示该响应内容的长度(字节数)
    Content-Encoding 表示该响应头压缩算法,例如gzip
    Cache-Control 指示客户端应如何缓存,例如max-age=300表示可以最多缓存300秒
    Set-Cookie 告诉浏览器为当前页面所在的域设置cookie

三、Web服务器-Tomcat

3.1 简介

3.1.1 服务器概述

  1. 服务器硬件:指的也是计算机,只不过服务器要比我们日常使用的计算机大很多。

    • 服务器,也称伺服器。是提供计算服务的设备。由于服务器需要响应服务请求,并进行处理,因此一般来说服务器应具备承担服务并且保障服务的能力。
    • 服务器的构成包括处理器、硬盘、内存、系统总线等,和通用的计算机架构类似,但是由于需要提供高可靠的服务,因此在处理能力、稳定性、可靠性、安全性、可扩展性、可管理性等方面要求较高。
    • 在网络环境下,根据服务器提供的服务类型不同,可分为:文件服务器数据库服务器应用程序服务器WEB服务器等。
    • 服务器只是一台设备,必须安装服务器软件才能提供相应的服务。
  2. 服务器软件:基于ServerSocket编写的程序

    • 服务器软件本质是一个运行在服务器设备上的应用程序
    • 能够接收客户端请求,并根据请求给客户端响应数据
  3. 服务器概念:

3.1.2 Web服务器

  1. Web服务器:
    • Web服务器是一个软件程序,对HTTP协议进行封装,使得程序员不必对协议进行操作,让Web开发更加便捷。
    • 主要功能是“提供网上信息浏览服务”。
  2. 常见的Web服务器:
    • Tomcat
    • jetty
    • WebLogic
    • WebSphere
  3. Tomcat
    • 概念:Tomcat 是 Apache 软件基金会一个核心项目,是一个开源免费的轻量级Web服务器,支持 Servlet/JSP 少量 JavaEE 规范。
    • JavaEE:Java Enterprise Edition,Java企业版。指Java企业级开发的技术规范总和。包含13项技术:JDBC、JNDI、EJB、RMI、JSP、Servlet、XML、Java IDL、JTS、JTA、JavaMail、JAF
    • Tomcat 也被称为 Web容器、Servlet容器。Servlet程序需要依赖 Tomcat才能运行
    • 官网:https://tomcat.apache.org/

3.2 基本使用

3.2.1 下载

  1. 直接从官方网站下载:https://tomcat.apache.org/download-90.cgi
  2. 打开官网选择:64-bit Windows zip(pgp,sha512)
  3. Tomcat软件类型说明
    • tar.gz文件,是linux和mac操作系统下的压缩版本
    • zip文件,是window操作系统下压缩版本(我们选择zip文件)

3.2.2 安装与卸载

  1. 安装: Tomcat是绿色版,直接解压即安装

    • 注意,Tomcat在解压缩的时候,解压所在的目录可以任意,但最好解压到一个==不包含中文和空格的目录==,因为后期在部署项目的时候,如果路径有中文或者空格可能会导致程序部署失败。

    • 打开Tomcat目录就能看到如下目录结构,每个目录中包含的内容需要认识下

    • bin:目录下有两类文件,一种是以.bat结尾的,是Windows系统的可执行文件,一种是以.sh结尾的,是Linux系统的可执行文件。

    • webapps:就是以后项目部署的目录

  2. 卸载:卸载比较简单,可以直接删除目录即可

3.2.3 启动与关闭

  1. 启动Tomcat

    • 双击tomcat解压目录/bin/startup.bat文件即可启动tomcat

    • 注意: tomcat服务器启动后,黑窗口不会关闭,只要黑窗口不关闭,就证明tomcat服务器正在运行

    • Tomcat的默认端口为8080,所以在浏览器的地址栏输入:http://IP地址:8080 即可访问tomcat服务器

    • Tomcat启动的过程中,遇到控制台有中文乱码时,可以通常修改conf/logging.prooperties文件解决

      1
      java.util.logging.ConsoleHandler.encoding = GBK
  2. 关闭有三种方式

    • 强制关闭:直接x掉Tomcat窗口(不建议)
    • 正常关闭:bin\shutdown.bat
    • 正常关闭:在Tomcat启动窗口中按下 Ctrl+C

3.2.4 部署项目

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

3.2.5 常见问题

  1. Tomcat启动时,窗口一闪而过

    • 检查Java环境变量是否配置正确
  2. 端口号冲突

    • 发生问题的原因:Tomcat使用的端口被占用了。

    • 解决方案一:结束占用8080端口的程序

    • 解决方案二:换Tomcat端口号,要想修改Tomcat启动的端口号,需要修改conf/server.xml文件

      1
      2
      3
      4
      5
      <Connector port="8080" protocol="HTTP/1.1"
      connectionTimeout="20000"
      redirectPort="8443"
      maxParameterCount="1000"
      />

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

3.3 入门程序解析

  1. 起步依赖:

    • spring-boot-starter-web:包含了web应用开发所需要的常见依赖
    • spring-boot-starter-test:包含了单元测试所需要的常见依赖
  2. 内嵌Tomcat

    • 在我们的SpringBoot中,引入了web运行环境(也就是引入spring-boot-starter-web起步依赖),其内部已经集成了内置的Tomcat服务器。
  • Copyright: Copyright is owned by the author. For commercial reprints, please contact the author for authorization. For non-commercial reprints, please indicate the source.
  • Copyrights © 2023-2024 LittleWin
  • Visitors: | Views:

请我喝杯咖啡吧~

支付宝
微信