2021-08-25-Tomcat服务器与HTTP协议


layout: post
#标题配置
title: Tomat服务器与HTTP协议
#时间配置
date: 2021-08-25 22:30:00 +0800
#目录配置
categories: JavaWeb
#标签配置
tag: 学习笔记

  • content
    {:toc}

Tomcat服务器与HTTP协议

一.服务器的介绍

  • 常用的应用服务器
    服务器名称 说明
    weblogic 实现了javaEE规范,重量级服务器,又称为javaEE容器
    websphereAS 实现了javaEE规范,重量级服务器
    JBOSSAS 实现了javaEE规范,重量级服务器,免费的
    Tomcat 实现了jsp/servlet规范,是一个轻量级服务器,开源免费

二.Tomcat的基本使用

1.启动

startup.bat            Windows下启动执行文件
startup.sh             Linux下启动执行文件

2.停止

shutdown.bat         Windows下关闭执行文件
shutdown.sh          Linux下关闭执行文件

3.启动问题

启动窗口一闪而过:没有配置jdk环境变量
java.net.BindException:端口8080被占用

4.部署自己的项目

①在webapps目录下创建一个文件夹
②将资源放到该文件夹里
③启动tomcat,输入正确路径

5.tomcat控制台乱码解决

打开conf目录下的logging.properties文件,找到java.util.logging.ConsoleHandler.encoding = UTF-8
修改为java.util.logging.ConsoleHandler.encoding = gbk

6.IDEA集成Tomcat

①点击Run -> Edit Configurations
②弹出界面点Defaults -> Tomcat Server -> Local
③点击Configure -> Tomcat Home -> 选择tomcat所在路径

7.Linux安装Tomcat

1.上传压缩包到/home路径:
put D:/apache-tomcat-9.0.29.tar.gz
移动到home路径下
mv apache-tomcat-9.0.29.tar.gz /home/
2.解压压缩包:
tar -zxvf apache-tomcat-9.0.28.tar.gz
3.进入bin目录下:
cd apache-tomcat-9.0.29/bin
4.启动tomcat服务:
./startup.sh
5.使用浏览器测试:http://xxx.xxx.xxx.xxx:8080/

8. JavaWeb项目的发布

1.通过IDEA直接发布

①点击Run -> Edit Configurations
②点击Tomcat Server -> Deployment
Application Context 是项目访问路径,/代表默认路径,多个项目中只能有一个默认路径
③点击Tomcat Server -> Server
配置关联浏览器,是否能加载资源两个都改成update sources,jdk,端口号
④启动tomcat服务
⑤验证结果(控制台出现Connect to server)

2.通过war包发布(了解)

①在项目的web路径下打war包:jar -cvf 项目名.war(进入目录后右键点击在此处打开命令窗口)
②将打好的war包剪切到tomcat的webapps路径下
③启动tomcat服务,自动解压war包

9.Tomcat配置文件

  • 主配置文件server.xml(tomcat的conf目录下)
    Connect 后的port是默认端口号
<Connector port="8080" protocol="HTTP/1.1"

8080端口:tomcat服务默认端口号,访问url地址后必须手动写:8080
80端口:HTTP协议采用的端口号,访问url地址后不用写:80

10.Tomcat配置虚拟目录

虚拟目录的作用:可以发布任意目录下的项目
①编辑server.xml配置文件,找到标签
②在前加入

<Context path="/地址栏访问的路径" docBase="项目路径"> 

path属性:访问资源的虚拟目录名称
docBase属性:项目真实存在的路径

11.Tomcat配置虚拟主机

虚拟主机作用:可以指定访问路径的名称
①编辑server.xml配置文件,找到标签
②加入以下内容

<Engine name="Catalina" defaultHost="localhost">
	<Host name="www.webdemo.com" appBase="webapps"
		unpackWARs="true" autoDeploy="true">
	  <Context path="" docBase="项目名"/>
	</Host>
</Engine>

name属性:访问虚拟主机的名称
appBase属性:项目存放的路径
unpackWARs属性:是否自动解压war包
autoDepioy属性:是否自动发布
③修改hosts文件(C:\Windows\System32\drivers\etc\hosts)
将ip地址与域名绑定

三.HTTP协议

1.HTTP协议的介绍

  • HTTP(Hyper Text Transfer Protocl):超文本传输协议。
  • HTTP协议是基于TCP/IP协议的
  • 超文本:比普通文本更强大
  • 传输协议:客户端和服务器端的通信规则(握手规则)
    客户端向服务器发起请求,服务器向客户端响应
    注意:JavaScript、CSS、图片资源会自动发起请求

2.HTTP协议的请求

(1))请求的组成部分
①请求行
②请求头
③请求空行 //就是一个空行
④请求体
(2)请求的方式

  • GET

  • POST
    注意:只有POST请求方式才有请求体
    1.请求行
    请求方式提交路径(提交参数)HTTP/版本号
    2.请求头

    名称说明
    Accept客户端浏览器所支持的MIME类型
    Accept-Encoding客户端浏览器所支持的压缩编码格式。最常用的就是gzip压缩。
    Accept-Language客户端浏览器所支持的语言。一般都是zh_CN或en_US等。
    Referer告知服务器,当前请求的来源
    Content-Type请求正文所支持的MIME类型,
    Content-Length请求正文的长度
    User-Agent浏览器相关信息
    Connection连接的状态。Keep-Alive保持连接。
    lf-Modified-Since客户端浏览器缓存文件的最后修改时间。
    Cookie会话管理相关,非常的重要。

    3.请求空行
    普通换行,用于区分请求头和请求体
    4.请求体
    只有POST提交方式才有请求体,用于显示提交参数。

3.HTTP协议的响应

(1)响应的组成部分
①响应行
②响应头
③响应空行 //就是一个空行
④响应体

  • 常见状态码
状态码说明
200一切OK
302/307请求重定向,两次请求,地址栏发生变化
304请求资源未发生变化,使用缓存
404请求资源未找到
500服务器错误

(2)响应头

名称说明
Location请求重定向地址,请求重定向的地址,常与302,307配合使用。
Server服务器相关信息。
Content-Type响应正文的MIME类型。
Content-Length响应正文的长度。
Content-Disposition告知客户端浏览器,以下载的方式打开响应正文。
Refresh定时刷新。
Last-Modified服务器资源的最后修改时间。
Set-Cookie会话管理相关,非常的重要。
Expires:-1服务器资源到客户端浏览器后的缓存时间。
Catch-Control:no-catch不要缓存

(3)响应空行

普通换行,用于区分响应头和响应头

(4)响应体

将资源文件发送给客户端浏览器进行解析

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

拾光1024

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值