一.网络协议包
1.接收方【浏览器/服务器】在接收信息后,要做的第一件事就是将【二进制信息】编译成【文字,视频,图片,命令等】。
2.传递的二进制信息量往往很多,导致接收方很难在一组连续的二进制信息中得到对应的数据,比如浏览器发送一个请求:http://192.168.100.2:8080/index.html,这个请求以二进制的形式发送,假如是010011010101001,http服务器很难从这一个二进制数据中分辨具体的二进制代码代表什么数据。
3.网络协议包是一组有规律的数据,在网络协议包中存在固定的空间,每一个空间专门存放特定的信息,这样接收方在接收网络协议包之后,就可以到固定空间得到对应信息,网络协议包的出现极大降低了接收方对接收二进制数据编译难度。
二.常见网络协议
1.FTP网络协议包
2.Http网络协议包
不同网络协议包应用在不同情况
三.Http网络协议包
在基于B/S结构下的互联网通信中,网络传递信息都是基于http网络协议包。
分类:
Http请求协议包
Http响应协议包
Http请求协议包介绍:
在浏览器准备发送请求时,负责创建一个Http请求协议包,浏览器将请求信息以二进制形式保存在Http请求协议包各个空间。由浏览器负责将Http请求协议包推送到指定服务端
Http响应协议包:
http服务器在定位到被访问的资源文件之后,负责创建一个http响应协议包,http服务器将定位文件内容或文件命令以二进制形式写入http响应协议包各个空间,由http服务器负责将http响应协议包推送回发起请求的浏览器上。
http请求协议包内部空间:
按照自上而下去访问内部有四个空间。
空间划分:
请求行【
URL:请求地址(http://168.192.100.2:8080/index.html)
method:请求方法(POST/GET)
】
请求头【
请求参数信息【当请求方法为GET时,就将参数放在请求头中】
】
空白行【
没有任何内容,起隔离作用
】
请求体【
请求参数信息【当请求方法为GET时,就将参数放在请求体中】
】
通过在浏览器的Network中查看,这里面记录了浏览器和服务器之间的交流记录。
http响应协议包内部空间:
空间划分:
状态行【
Http状态码
】
响应头【
content-type:指定浏览器对响应体中的二进制数据采用对应编译器对响应体 二进制数据进行解析。
如果是图片,就告诉浏览器用图片编译器来编译二进制代码。
】
空白行【
隔离作用
】
响应体【
可能是被访问静态资源文件的内容
可能是被访问的静态资源文件命令
可能是被访问的动态资源文件运行结果
(这些内容都是以二进制形式呈现的)
】
四.http服务器
http服务器是服务器的一种,其行为与http协议相关。
http服务器可以接收来自于浏览器发送的http请求协议包,并自动对http请求协议包内容进行解析。
解析后,自动定位被访问的文件,并将定位的文件内容写入到http响应协议包中。
负责将http响应协议包推送回发起请求的浏览器上。
http服务器分类
JBOSS服务器
Glassfish服务器
Jetty服务器
Tomcat服务器
等等
Tomcat服务器的目录介绍
bin文件夹:管理命令的中心,如开启关闭服务器的控制文件都在里面。
conf文件夹:核心配置文件的位置。如放置着端口号,在服务端计算机中有各种服务器,每种服务器对专门的文件进行管理,当计算机接收到请求后,得知道将请求给哪个服务器,区分不同的服务器是靠端口号。
lib文件夹:Tomcat运行时所需要的jar包。
logs文件夹:存放日志信息,Tomcat运行的时候会产生日志信息,记录运行状况日志信息是给运维工程师看的。
temp文件夹:Tomcat运行时会产生临时文件,当Tomcat服务器关闭后,临时文件会自动销毁。
webapps文件夹:当http服务器后,如果在几百G的服务器内存中找到目标资源文件是很慢的,所以Tomcat服务器设定了一个默认的位置,即webapps文件夹,每当收到请求时,就去这个文件夹中找目标文件,如果在这个文件夹中找不到,就返回没有目标资源文件。
work文件夹:Tomcat的工作空间,在这里面会把JSP文件编辑为Java文件并编译为类文件,new出对象就调用里面的方法。
五.模拟一次互联网通信
网站;网络资源站点
Java工程本质是一个文件夹,数据库也是一个文件夹,里面放着各种表文件,所以存放表文件的文件夹就是数据库。所以网站也是一个文件夹,里面放着可以被http服务器调用的静态文件和动态文件。所以默认的webapps文件中的那几个文件就是一个个网站。
Step1:在Tomcat中的webapps文件夹下建立一个新文件夹myWeb,这个文件夹就是一个网站。
Step2:将一个静态资源文件添加到网站
Step3:启动Tomcat服务器
Step4:打开浏览器,向Tomcat索要boy.png
浏览器发出http请求协议包,http服务器接收到后,服务器会去webapps下的myWeb文件夹下去找boy.png这个静态文件,将这个文件拿出来,编译为二进制数据,放在响应包中推给浏览器,浏览器收到响应包后,使用图片编译器,将二进制数据解析成图片,然后在浏览器窗口中展示。
六.在IDEA中管理Tomcat
首先告诉IDEA它将对哪一个服务器控制启动与关闭。
在IDEA中建一个开关去启动和关闭Tomcat服务器。
Step1:Setting(设置)->Build,Execution,Deployment(执行,编译,部署)->Application Servers(应用服务器)->点加号(告诉IDEA需要管理的服务器的位置)
IDEA还顺带添加了两个jar包,这个jar包会放在当前的工作空间中,在这个工作空间中,所有的工程都会自动去关联这两个jar包
Step2:去Edit Configurations(编辑配置)中设置服务器的开关。
点击+号,remote表示在此电脑上去控制其他计算机上的Tomcat服务器的开启与关闭
local表示控制当前计算机上Tomcat的开启与关闭。
Step3:配置开关信息
Step4:开启服务器的两种方式
七.IDEA创建网站
配置好Tomcat服务器后,如何创建Web工程?
Step1:创建一个正常的Moduel
Step2:右键Moduel->add Framework Support->Web Application->OK
Step3:将创建的Web工程添加进去
MyJSP就是一个网站,这个网站里面有两个文件夹。
src文件夹下存放动态资源文件的Java文件 。
web文件夹存放作为静态资源文件【图片,html,css,js】,存放网站运行时依赖的jar【如Mysql驱动】。
WEB-INF存放网站的核心配置文件【web.xml】,通常该文件夹下还建一个lib文件夹用来存放jar包。
web.xml用来通知Tomcat当前网站那些Java类是。
Step4:如何向lib文件夹下放jar包?
settings->Modules->+号->library->new library,选中jar包放进去
把一个网站交给Tomcat管理,这个行为叫做发布网站,如何让这个网站被Tomcat管理?
这样这两个Tomcat就归Tomcat管理了 ,给网站起的那个别名就代表了MyJSP这个文件夹,通过这个别名访问网站时,就相当于访问MyJSP文件夹下的资源了。