tomcat服务器和HTTP协议

第1章WEB服务器和HTTP协议的由来

我们学会制作简单页面,我们学会简单操作数据MySQL,那么如何让在用户这一端的浏览器页面和我们这一端的数据库联系起来?

在链接浏览器和数据库的时候需要服务器和http协议作为桥梁

今天我们要学习服务器是Tomcat服务器和http协议
因为Tomcat 技术先进、性能稳定,而且免费,因而深受Java 爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web 应用服务器。

第2章下载安装tomcat:

2.1如何下载和安装tomcat服务器

2.1.1下载安装

官网:http://tomcat.apache.org/

2.1.2安装和目录介绍

安装介绍:
直接解压当前这个tomcat压缩包。

目录.png
2.1.3配置环境变量

Tomcat软件运行它需要依赖Java的运行环境。
需要在电脑中配置JAVA_HOME环境变量。
JAVA_HOME环境变量中配置的JDK的安装目录,不能包含bin目录

2.1.4启动服务器

进入tomcat的安装目录中,在bin目录下有startup.bat文件,双击运行。

1.1.1 测试

打开浏览器在,在浏览器的地址栏中输入:
http://127.0.0.1:8080
http://localhost:8080

2.2tomcat服务器使用常见问题

2.2.1无法启动(闪退)

主要原因:没有配置JAVA_HOME环境变量。
JAVA_HOME 环境变量 中配置的是JDK的安装目录,不包含bin目录,不是tomcat的安装目录。
闪退的原因查看:可以在startup.bat文件中书写pause命令。让运行的窗口暂停。

2.2.2端口被占用启动失败的问题

如果启动的时候,发生异常问题,这时有可能是端口被占用。
Tomcat服务器在启动的时候默认占用本地的8080端口,如果这个端口被占用,启动的时候就会报错。
查看本地端口使用情况:
在dos窗口中输入 netstat –nao 就可以查看当前端口的占用情况
查看当前端口占用的pid,然后打开任务管理器,找到进行,在进行查看当前pid对应的进程,把进程干掉。
注意:如果这个进程是操作系统的任务进程,这时一般是不能停止这个进程。
如果是系统进程端口被占用了我们只能换一个端口,下面看如何修改端口

第3章修改端口和web资源(项目)发布

3.1修改端口

Tomcat服务器的配置,全部都需要在tomcat的安装目录下conf目录下完成:
tomcat的默认端口为8080:
修改tomcat的端口为9090:
修改完server.xml文件必须重启服务器才能有效。
通过浏览器的地址栏访问:http://localhost:9090

3.2项目(web资源)发布

3.2.1在webapps下面直接发布:(重点)

只需要把开发好的项目复制到webapps下面即可。这时不用重启tomcat服务器,tomcat服务器会自动的加载复制到webapps下面的所有项目资源。

3.2.1.1在aaa文件夹下新建01.html

创建aaa文件夹:
定义一个html文件
通过浏览器地址栏访问:http://localhost:9090/aaa/1.html

地址.png

3.2.1.2使用压缩包发布项目,把压缩包发布到webapps下面:(重点)

原因:直接复制,数据量大,文件多,管理不方便
使用.war发布好处: 文件在一个文件夹统一管理,数据进行压缩,数据量小,.war文件可以被tomcat自动解压,直接访问就可以获取资源。
在新目录bbb创建02.htm
将工程使用zip格式压缩,然后更改后缀名为 war。l

第4章 HTTP协议

4.1 什么是协议?

4.1.1协议:

是通信双方应该遵守的一个共同的规则。相当于两个人交谈要使用同一种语言。
那么,两台计算机(两个人)按照指定的规则,一方发送数据(一个人说),另外一方才能接受到数据(另一个人听)。
让互联网中的计算机可以相互收发数据的这个规则,就是HTTP协议。

4.1.2http协议:

超文本传输协议(HTTP,HyperText Transfer Protocol)是互联网上应用最为广泛的一种网络协议。所有的WWW文件都必须遵守这个标准。设计HTTP最初的目的是为了提供一种发布和接收HTML页面的方法。1960年美国人Ted Nelson构思了一种通过计算机处理文本信息的方法,并称之为超文本(hypertext),这成为了HTTP超文本传输协议标准架构的发展根基。Ted Nelson组织协调万维网协会(World Wide Web Consortium)和互联网工程工作小组(Internet Engineering Task Force )共同合作研究,最终发布了一系列的RFC,其中著名的RFC 2616定义了HTTP 1.1。

4.1.3http的相关概念:

http://127.0.0.1:9090/test/1.html
1、域名代替IP,默认端口是80(如果端口号是80,可以省略不写)
http://www.baidu.com:80 相当于 http://www.baidu.com
http://www.baidu.comhttp://localhost 代替 IP: 115.239.211.112
2、http协议永远是客户端(浏览器或者手机等)发送请求,服务器回送响应
客户端访问服务端称为客户端的请求,服务器给浏览器回送数据称为服务器的响应。
3、http协议是基于TCP协议。
注意:基础班学习网络编程的时候学习过:UDP、TCP他们都是传输层的协议。
就业班学习的协议基本都是应用层的协议:主要是针对的是应用程序。(什么是应用层协议,参考资料文件夹中的《网络七层协议介绍》,该内容做了了解,不要求掌握)
那么之前安装好tomcat之后,我们也在使用浏览器获取tomcat服务器的资源,使用的也是http协议,如何查看http协议呢?
答:chrome(谷歌):内置 f12 firefox(火狐):安装firebug
访问:tomcat效果:
chrome(谷歌):内置 f12:

5.2HTTP协议中的请求格式(方向:浏览器 -> 服务器)

目的1: 知道浏览器把什么样的数据发送给服务器
目的2: 知道发送的数据格式

准备知识:
注意:HTTP请求方法有很多,我们目前要了解和使用的是get和post,所以在演示和解析请求的时候,我们演示get和post请求

请求.png

5.2.1请求行:分成3部分:

请求行:GET /test/2.html HTTP/1.1
GET: 请求方式
/test/1.html?name=tom :请求地址 ?后面是请求参数(用户名密码等等。。。)
HTTP/1.1:HTTP版本

什么是请求方式?
答:请求方式就相当于回家的开门方式:get方式相当于拿钥匙开门 post方式相当于电子密码锁开门
问:那么使用浏览器如何发送get请求?
答:A标签和直接地址栏输入都是get请求
问:那么使用浏览器如何发送post请求?
答:使用form表单就是post请求

GET和POST的区别?
第一:
Get请求:暴露请求参数在地址栏不安全
POST:不会暴露参数
第二:
Get请求方式数据有长度限制,所有浏览器,都不允许,在地址无限的书写内容
Post请求方式,长度没有限制,可用户文件上传这样的功能。
什么是请求地址?
答:相当于你家的门牌号码,通过这个找到你家
请求地址说明:
请求地址:/test/1.html?name=tom
“/” 当前服务器根路径——http://localhost:9090
“test”服务器中资源名称
“?”开启拼接请求参数
“name=tom”请求参数 post方式请求参数的请求体中

什么是HTTP版本?(了解)
答:跟软件一样,协议,过一段时间要适合互联网发展,做更新
HTTP现在使用的版本:HTTP/1.1
早期1.0版本运行图解:一次请求,获取一次资源(响应),效率慢
明显缺陷:浏览器和服务器建立连接后,每次只能处理一次请求。
为了克服上述1.0的缺陷,http1.1 应运而生。它支持持久连接,也就是说在一个TCP连接上可以传送多个http请求和响应,从而减少建立和关闭连接的消耗延时。

1.1.1 请求头:

它是有key和value组成的数据,key和value之间必须使用冒号隔开。一个key可以对应多个value值。
Host localhost:9090 服务器的域名
User-Agent Mozilla/5.0 (Windows NT 10.0; …) Gecko/20100101 Firefox/55.0 首部包含了一个特征字符串,用来让网络协议的对端来识别发起请求的用户代理软件的应用类型、操作系统、软件开发商以及版本号。
Accept text/html,application/xhtml+xm…plication/xml;q=0.9,/;q=0.8 客户端可以处理的内容类型(text/html,超文本)
Accept-Language zh-CN,zh;q=0.8,en-US;q=0.5,en;q=0.3 使用的语言
Accept-Encoding gzip, deflate 压缩格式
Referer <u>http://127.0.0.1:9090/test/1.html?name=tom</u> 当前页面的来源页面的地址
Content-Type application/x-www-form-urlencoded 发送前对所有字符进行编码
Content-Length 12 数据长度
Connection keep-alive 保持网络连接
Upgrade-Insecure-Requests 1客户端优先选择加密及带有身份验证的响应
后期需要使用到的是:
Referer:可以用在用户登陆之后,跳转之前浏览的页面功能上
User-Agent:处理浏览器兼容性问题
有不明白的消息头,可以按一下方式查询:
请求体:post请求,会将请求要发送的参数,设置到请求体中

5.3HTTP协议中的响应格式(服务器 --》 浏览器)

http协议中在定义响应格式:分成3部分:
1、 响应行
2、 响应头
3、 响应体

5.3.1响应行:分成三部分:

响应行:HTTP/1.1 200 OK
http/1.1 表示http协议和版本
200 响应状态码
OK 状态码代表意义 ,请求成功,响应完成
Xml技术?
-1 888 20170924xxxxx
<msg>
<status>-1</status>
<time>888</time>
<orderid>20170924xxxxx </orderid>
</msg>

5.3.2响应行中的状态码:

常见状态码:
200 - 请求成功
302 – 请求重定向 (response)
404 - 请求的资源(网页等)不存在
500 - 内部服务器错误(如果遇到500的情况,表示的是java代码出错误)
状态码分类:

图片2.png

图片3.png

图片4.png
图片5.png
5.3.3常见的响应头信息参数说明

Location: http://www.it315.org/index.jsp // 通常告知浏览器 马上向该地址发送请求 通常 和 302 一起使用!!
(重点) 结合302完成重定向 操作 Location重定向后地址
Server:apache tomcat 服务器类型
Content-Encoding: gzip 响应编码类型 gzip压缩
Content-Length: 800 响应体的长度
Content-Language: zh-cn 响应语言
Content-Type: text/html; charset=GB2312 响应字符集 决定浏览器打开文件格式类型 以及编码
Last-Modified: Tue, 11 Jul 2000 18:23:51 GMT 和If-Modified-Since 一起使用,实现服务器缓存策略
Refresh: 3;url=http://www.jd.com (页面自动刷新)
3 表示是的时间,3秒
url 地址
到3秒后,页面刷新url

5.3.4响应体——页面要展示的内容

服务器输出给浏览器显示的内容.


总结
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,189评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,577评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,857评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,703评论 1 276
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,705评论 5 366
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,620评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,995评论 3 396
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,656评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,898评论 1 298
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,639评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,720评论 1 330
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,395评论 4 319
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,982评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,953评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,195评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 44,907评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,472评论 2 342

推荐阅读更多精彩内容