Web后端 - 第2章 - Web服务器之Http网络协议与Tomcat服务器

一、Http网络协议

1.1 网络协议包

	1.在网络中传递信息都是以【二进制】形式存在的。
	
	2.接收方【浏览器/服务器】在接收信息后,要做第一件事:
	  就是将【二进制数据】进行编译【文字,图片,视频,命令】
	
	3.传递信息数据量往往比较巨大,导致接收方很难在一组连续二进制得到对应数据
	  比如 浏览器发送一个请求: http://192.168.100.2:8080/index.html
	       这个请求信息以二进制形式发送 01010101010110101010101101010,
	       Http服务器很难从二进制数据得到相关信息

	4.网络协议包:一组有规律的二进制数据,在这组数据存在了固定空间,
		每一个空间专门存放特定信息,这样接收方在接收网络协议包之后,
		就可以到固定空间得到对应信息,
		网络协议包出现极大降低了接收方对接收二进制数据的编译难度

		【0000(ip地址)0000(端口号)0000(资源文件名)0000】

1.2 常见网络协议

  • 1.FTP网络协议包
  • 2.Http网络协议包

1.3 Http网络协议包

  • 在基于B/S结构下互联网通信过程中,所有在网络中传递信息都是保存在Http网络协议包

  • 分类:
    Http请求协议包
    Http响应协议包

1.4 Http请求协议包与Http响应协议包介绍

  1. Http请求协议包:
    在浏览器准备发送请求时,负责创建一个Http请求协议包,
    浏览器将请求信息以二进制形式保存在Http请求协议包各个空间,
    由浏览器负责将Http请求协议包推送到指定服务端计算机。

  2. Http响应协议包:
    Http服务器在定位到被访问的资源文件之后,负责创建一个Http响应协议包,
    Http服务器将定位文件内容或者文件命令以二进制形式写入到Http响应协议包各个空间,
    由Http服务器负责将Http响应协议包推送回发起请求的浏览器上。

1.5 Http请求协议包内部空间

 1.按照自上而下划分,分为4个空间

 2.空间划分:

            请求行:[
					url:请求地址(http://192.168.100.2:8080/index.html)
					method:请求方式(POST/GET)
	       		   ]

            请求头:[
					请求参数信息【GET】
	               ]

            空白行:[
	                没有任何内容,起到隔离作用
	               ]

            请求体:[
					请求参数信息【POST】
	              ]

在这里插入图片描述

1.6 Http响应协议包内部结构

1.按照自上而下划分,分为4个空间

2.空间划分:

        状态行:[
	                Http状态码
	           ]

        响应头:[
	               content-type: 指定浏览器采用对应编译器 对响应体中的二进制数据进行解析
			       location:将一个请求地址赋值给location,从而控制浏览器向指定服务器发送请求
	           ]

        空白行:[
	                没有任何内容,起到隔离作用		     
	           ]

        响应体:[
	                可能被访问的静态资源文件内容
			        可能被访问的静态资源文件命令
			        可能被访问的动态资源文件运行结果
	                *****都是以二进制形式***
	          ]

在这里插入图片描述
第二版 互联网通信流程图:
在这里插入图片描述

二、Tomcat服务器

2.1 服务器

  • 服务器,是一种安装在服务端计算机的资源文件调度器。
    每一种服务器专门接受特定的请求协议。对特定的文件进行调用管理。
    之前学习的MySql服务器就是服务器的一,专门对frm文件也就是表文件进行管理调用。

2.2 Http服务器

  • Http服务器是服务器中一种,其行为与Http协议相关。
    Http服务器可以接收来自于浏览器发送的Http请求协议包,并自动对Http请求协议包内容进行解析。
    解析后,自动定位被访问的文件。并将定位的文件内容写入到Http响应协议包中。
    最后,负责将Http响应协议包推送回发起请求的浏览器上

2.3 Http服务器分类

  Http服务器在B/S通信模型下广泛使用,到目前为止已经产生了大量的类型。
  目前在软件行业中比较知名的Http服务器有如下几种:

  • (1)JBOSS服务器
    JBOSS服务器是由JBOSS公司研发的基于J2EE的开放源代码的应用服务器。
    可以在任何商业应用中免费使用。支持EJB 1.1、EJB 2.0和EJB3的规范。
    但JBoss核心服务不包括支持servlet/JSP的WEB容器,一般与Tomcat或Jetty绑定使用。

  • (2)Glassfish服务器
    Glassish服务器是SUN开发的一个免费,开源的基于Java EE应用服务器。
    是SUN公司在未来互联网通信应用领域中的重要服务器,具有轻便的Web容器的所有优点,
    它和Tomcat一样是优秀的Servlet容器。GlassFish在静态文件传输方面的性能比Tomcat要强得多。
    未来很有可能代替tomcat服务器。

  • (3)Jetty服务器
    Jetty服务器是一个由Java技术开发的Http 服务器。
    主要应用于公有云分布式环境中。
    与Tomcat比较更加节省资源,更加灵活。
    未来很有可能代替tomcat服务器。

  • (4)Weblogic服务器
    WebLogic是美国Oracle 公司出品的一个使用Java技术开发Http服务器。
    主要应用于大型分布式Web应用。是Oracle的主要产品之一。
    但运行时需要消耗计算机的大里资源,不适合安装在个人电脑上。

  • (5)Websphere服务器
    WebSphere是IBM的公司研发的一个HTTP服务器。
    目前主要应用于电子商务应用领域。
    WebSphere 可以创建电子商务站点,把应用扩展到联合的移动设备,整合已有的应用并提供自动业务流程。
    主要安装在LINUX系统中,不适合安装在windows系统上。

  • (6)Tomcat服务器
    Tomcat是Apache软件基金会中的一个核心项目,由Java技术开发而成。由Apache、Sun共同开发而成。
    由于有了Sun 的参与和支持,最新的Servlet和JSP规范总是能在Tomcat中得到完美体现。
    因为其技术先进、性能稳定,而且免费,因而深受Java爱好者的喜爱并得到了绝大部分软件开发商的认可,成为目前最流行的Http服务器。
    属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP程序的首选。
    对于一个初学者来说,可以这样认为,当在一台机器上配置好Apache服务器,可利用它响应HTML页面的访问请求。
    从而可以在自己的计算机上模拟基于B/S结构的互联网通信流程

2.4 Tomcat的安装与配置

  1. Tomcat的安装
    在Tomcat官网(https://tomcat.apache.org/),下载Tomcat压缩包:
    apache-tomcat-9.0.30-windows-x64.zip
    因为下载的为解压版的Tomcat,不需要安装,解压即可使用

    将解压后的文件放到一个好找的地方,以免自己忘记安装位置
    D:\apache-tomcat-9.0.30

  2. Tomcat的配置
    (1)配置 JAVA_HOME 或者 JRE_HOME
       JAVA_HOME:指向JDK安装地址:C:\Program Files\Java\jdk1.8.0_181
       JRE_HOME:指向JRE安装地址:C:\Program Files\Java\jdk1.8.0_181\jre
      两个环境变量只需要配置一个即可

   (2)配置CATALINA_HOME
    部分Windows系统要求用户指定Tomcat安装地址
    CATALINA_HOME 通知Windows系统 Tomcat安装在哪里
     CATALINA_HOME:D:\apache-tomcat-9.0.30

  1. Tomcat的启动和关闭
    启动与关闭命令存放位置:Tomcat安装位置/bin目录下面
    启动命令:startup.bat
    关闭命令:shutdown.bat

    注:可以直接双击这两个命令,也可以在dos窗口,当前路径下面输入startup或者shutdown

    【测试】:
        启动tomcat之后,不要叉掉跳出的窗口,到浏览器地址栏输入:http://localhost:8080/
        回车
        如果出来一个带有一只猫的页面,说明tomcat确实启动成功了!!!
        关闭tomcat:先叉掉跳出的窗口,然后使用关闭命令关闭tomcat
    在这里插入图片描述

2.5 Tomcat目录结构

在这里插入图片描述

2.6 模拟一次互联网通信

1.在Tomcat安装地址/webapps文件夹,创建一个网站【myWeb】
	即,在webapps文件夹里面新建一个文件夹,叫myWeb

2.将一个静态资源文件添加到网站【car.jpg】
	百度一张照片,下载下来,移动到myWeb文件夹里面

3.启动tomcat
	双击bin目录下面的startup.bat

4.启动浏览器,命令浏览器向tomcat索要car.jpg

	URL格式:
	网络协议包://服务端计算机IP地址:Http服务器端口号/网站名/资源文件名称
	
	http://localhost:8080/myWeb/car.jpg

5、关闭tomcat
	双击bin目录下面的shutdown.bat

2.7 IDEA配置管理Tomcat

打开IDEA开发工具:

【File】——> 【Settings】,
在弹出的窗口左边选择【Build, Execution, Deployment】————>【Application Servers】,
点击【+】,选择【Tomcat Server】,在弹出的对话框中填入Tomcat的安装路径:
	我这里是:D:/apache-tomcat-9.0.30
点击【OK】——>【OK】

设置Tomcat的启动与关闭按钮:
选择【Run】————>【Edit Configuration】,
点击左侧【+】号,找到【Tomcat Server】---【Local】(若是没有找到Tomcat Server 可以点击最后一行 34 items more),
在name后面填写名字(我这里写的是:启动和关闭Tomcat的按钮)
下面的【Server】 -> 【Application server】有上面刚刚配置的本地 Tomcat 服务器,
下面【JRE】选择自己的JRE版本,
最后点击Apply,再点OK按钮。

这个时候就可以看到IDEA下面打开了一个窗口【Application Servers】,里面有自己刚刚设置的按钮【启动和关闭Tomcat的按钮】

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2.8 IDEA创建网站

1、创建步骤
	【File】——> 【New】——> 【Module】
	点击左侧第二个【Java Enterprise】Java企业级应用,(Java EE,Java 平台企业版(Java Platform Enterprise Edition))
	再勾选中间的【Web Application】
	点击【Next】--给这个Module(也就是我们这个网站)命名:【01_我的第一个网站】 ——> 【Finish】
	(虽然给网站命名不能为中文,但是我们可以在提交给Tomcat的时候给起一个别名)

在这里插入图片描述

2、网站内部结构
	[
	 src文件夹:存放作为动态资源文件的Java文件
	 web文件夹:存放作为静态资源文件 [图片,html, css, js]
		   存放网站运行时依赖的jar [如 mysq1驱动]
		   存放网站的核心配置文件 [web.xml]
		WEB-INF: 依赖的jar[mysql驱动] / 核心配置文件(web.xml)
			lib文件夹:依赖的jar [mysq1驱动] 
			web.xml  :通知Tomcat 当前网站那些java类是动态资源文件
	]
	(注:需要自己在WEB-INF下面新建这个lib文件夹,然后把对应的jar包粘贴到这里面)

【另附】将mysql的驱动jar包引入IDEA
	jar包位置:D:\MySql Connector Java 5.1.23\mysql-connector-java-5.1.23-bin.jar 引入IDEA

	File –> Project Structure,点左边第三个Libraries - 再点右边上面的+号,选择Java
	- 在弹出来的窗口里面,找到自己jar包的位置 - ok -选择模块- ok - 点Apply ,再点ok
	
	(也可以在将jar包粘贴到lib文件夹之后,直接【右键该jar包】-点击【Add as Library...】,一样的)

在这里插入图片描述

3、找一张图片[car.jpg],复制,粘贴到IDEA的web文件夹下面
	静态资源文件要放到web文件夹下面,不能放到WEB-INF下面

4、发布网站(把网站交给Tomcat管理)
	【Run】————>【Edit Configuration】,选择中间第二个:【Deployment】部署
	点右边的【+】————>【Artifact】,就会在中间页面出现自己的网站【01_我的第一个网站】
	在下面的【Application content:】后面可以写网站的别名,但是要注意一定要以/开头
		我的是:/myWeb01
	点【Apply】,点【OK】

在这里插入图片描述

5、启动Tomcat
	IDEA下面【Application Servers】窗口,找到【启动和关闭Tomcat的按钮】,点击左侧的run

	然后自己电脑的浏览器就会自动的打开,跳转到 http://localhost:8080/myWeb01/
	在浏览器地址栏 http://localhost:8080/myWeb01/ 后面添加 car.jpg , 回车 ,这个时候页面就显示出了我们刚才加的那张照片了!

在这里插入图片描述
在这里插入图片描述

6、关闭Tomcat
	IDEA下面【Application Servers】窗口,找到【启动和关闭Tomcat的按钮】,点击左侧的stop

在这里插入图片描述
至此,完成!

传送门

上一章:Web后端 - 第一章 - 互联网通信流程介绍
下一章:Web后端 - 第三章 - Servlet

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值