您当前的位置:首页 > 电脑百科 > 程序开发 > 容器

最全Tomcat入门指南

时间:2021-03-24 12:28:44  来源:  作者:

Tomcat是什么?

Tomcat是web容器。你在做web项目时,多数需要http协议,也就是基于请求和响应,比如你在百度输入一行内容搜索,那么百度服务器如何处理这个请求呢,他需要创建servlet来处理,servlet其实就是JAVA程序,只是在服务器端的java程序servlet通过配置文件拦截你的请求,并进行相应处理,然后展示给你相应界面,那么servlet如何创建?

这时候tomcat用到了,它就是帮助你创建servlet的东西,所以也称web容器,没有它,没法运行web项目。相对应的web容器有很多,比如JBOSS,WEBLOGIC等。

Tomcat是一个应用服务器。他可以运行你按照J2EE中的Servlet规范编写好的Java程序。
简单的说它是一个Web网站的运行容器,把你写好的网站放进去就可以运行。

搭配视频观看效果更佳~~

https://www.ixigua.com/6903321523554091533

一、网络协议/网络协议包

在互联网通信过程中,在网络传递信息都是二进制形式。

此时接收方接收到信息之后必须进行一次解析。

但是由于传递信息量相对较大,增加接收方解析难度

浏览器:
http://localhost:8080/myWeb/index.html

1010101010101010101011111000110101010

网络协议包:

一组有规律二进制数据,存在固定空间。在指定空间下专门存放指定数据,降低接收方解析难度

0000 服务端计算机ip地址 0000 Http服务器端口号 0000 资源文件 0000

二、Http网络协议包:

在B/S通信结构下,浏览器发送请求信息以及服务端返回资源文件内容都是通过Http网络协议包进行传递

三、Http网络协议包分类:

1.Http请求协议包:

1)在浏览器准备发送请求时,负责生成一个Http请求协议包

2) 在浏览器准备发送请求时,负责将请求信息写入Http请求协议包

3)由浏览器负责推送Http请求协议包

2.Http响应协议包:

1)在Http服务器准备返回结果时,负责生成一个Http响应协议包

2)由Http服务器调用输出流将文件内容(文字,数字,像素,帧,命令)以二进制形式写入到Http响应协议包

3) 由Http服务器负责将Http响应协议包推送回发起请求的浏览器

四、Http请求协议包内部结构:自上而下分为4层结构 【背】

1. 请求行:

url:请求地址

method:请求方式

2.请求头:

如果浏览器以GET方式发送请求

请求参数存放在请求头

3.空白行:

4.请求体:

如果浏览器以POST方式发送请求

请求参数存放在请求体

五、Http响应协议包内部结构 自上而下分为4层结构 【背】

1. 状态行:

Http状态码

2. 响应头:

content-type:指定浏览器使用对应解析器或则编译器

对返回二进制数据进行解析或则编译

3. 空白行:

4.响应体:

本次索要文件内容(二进制形式存放)

六、Http服务器介绍

1.所有的Http服务器都是由java编程语言开发应用程序

2.Http服务器可以接收由浏览器发动的Http请求协议包

3.Http服务器可以解析Http请求协议包二进制数据了解用户请求

4.Http服务器可以自动定位被访问的资源文件

5.Http服务器可以自动将被访问文件内容或则文件运行结果通过输出流以二进制形式写入到Http响应协议包中响应体

6.Http服务器可以自动将Http响应协议包推送回发起请求的浏览器

七、Http服务器分类:

1.功能最强---Websphere

2.功能最新---GlassFish

3.最轻量级---tomcat

八、tomcat服务器安装与配置

1.tomcat服务器下载:
https://tomcat.Apache.org/

2.tomcat安装:tomcat9.0版本是绿色免安装版

3.tomcat配置:

1)JAVA_HOME环境变量: 用于向tomcat服务器提供当前计算机中JDK位置

JAVA_HOME=C:Program FilesJavajdk1.8.0_101

2) CATALINA_HOME环境变量:通知本次启动的tomcat服务器存放位置

CATALINA_HOME=C:tomcat9

九、tomcat服务器启动与关闭

1.tomcat服务器启动时生成一个管理对象。如果手动关闭,时间一长。

这个管理对象将脱离管理,导致无法再次启动tomcat

2.管理命令位置: tomcat安装地址/bin文件夹

3.启动tomcat命令: startup

4.关闭tomcat命令: shutdown

十、tomcat服务器启动失败原因

1.忘记配置JAVA_HOME

Neither the JAVA_HOME nor the JRE_HOME environment variable is defined

At least one of these environment variable is needed to run this program

2.JAVA_HOME地址写错了

The JRE_HOME environment variable is not defined correctly

This environment variable is needed to run this program

3.CATALINA_HOME地址写错了

The CATALINA_HOME environment variable is not defined correctly

This environment variable is needed to run this program

4.tomcat服务器默认端口号8080.一个计算机只能启动一个tomcat

java.net.BindException: Address already in use: JVM_Bind

十一、tomcat服务器工作文件

1. bin : tomcat管理命令

2.conf:tomcat配置文件。server.xml是tomcat核心配置文件

3.lib: tomcat应用程序在运行时依赖的第三方jar

4.logs:存放tomcat运行日志

5.temp:存放tomcat运行时生成临时文件

6.webApps:tomcat在默认情况下,接收到请求之后到webapps下定位资源文件

7.work: tomcat在默认情况下,在work文件下将jsp文件编辑为java文件并编译为class文件

十二、第一次BS通信模拟

1. 在webapps下创建一个网站

***网站:网络资源站点,存放可以被浏览器访问的资源文件

2.启动tomcat

3.启动浏览器,向tomcat发起请求

在地址栏输入资源文件定位命令(url):

http://服务端计算机IP地址:http服务器端口号/网站名/资源文件名.后缀名

http://localhost:8080/myWeb/one.html

十三、标准网站内部结构

|

|_________src文件夹:java文件和动态资源文件

|

|_________web文件夹 :静态资源文件/第三jar/网站核心配置文件

|

|________WEB-INF: 第三jar/网站核心配置文件

|

|______lib文件夹(手动) 第三jar

|

|______web.xml 网站核心配置文件

|

|______________静态资源文件

十四、模拟tomcat调用动态资源文件

1.对于一个网站来说,tomcat只能调用网站中Servlet接口实现类

2.Tomcat接收到请求之后,根据url中文件名称定位被访问Servlet接口实现类。

1)Tomcat通过Class.forName方法将硬盘类文件加载到内存

2)Tomcat通过反色机制通知JVM创建当前类的实例对象

3)Tomcat通过实例对象调用init方法来实现对实例对象初始化操作

4)Tomcat通过实例对象调用service方法处理当前用户请求

5)Tomcat通过输出流将service方法处理结果写入到响应体交还给发起请求浏览器

十五、适配器设计模式

1.作用: 降低接口实现类开发难度的。可以让接口实现类自由选择接口中方法重写

2.解决方案:

1)使用抽象类实现接口,对接口中不受欢迎抽象方法进行空实现

2)创建接口实现类 继承与抽象类,此时接口实现类开发时只要重写感兴趣方法

十六、模板设计模式:

1.作用:子类只需要考虑相关方法重写实现,不需要考虑方法调用场景。子类方法调用规则由父类负责控制



Tags:Tomcat   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,如有任何标注错误或版权侵犯请与我们联系(Email:2595517585@qq.com),我们将及时更正、删除,谢谢。
▌相关推荐
1. 整体架构简析#如果将Tomca它的结构高度抽象的话,那么Tomcat其实可以看成只是有连接器(Connector)和容器(Container)两个组件构成。其中Connector组件负责在服务器端处理客户端...【详细内容】
2021-09-30  Tags: Tomcat  点击:(53)  评论:(0)  加入收藏
开源的 Java Web 应用服务器,实现了 Java EE(Java Platform Enterprise Edition)的部 分技术规范,比如 Java Servlet、Java Server Page、JSTL、Java WebSocket。Java EE 是 S...【详细内容】
2021-09-17  Tags: Tomcat  点击:(68)  评论:(0)  加入收藏
一、前言server.xml 配置,是 Tomcat启动配置,从配置结构可以看出 Tomcat 的整体架构。如果能够了解其常用配置项,对 Tomcat有一个高屋建瓴的把握,然后再庖丁解牛,一步步深入源码...【详细内容】
2021-07-04  Tags: Tomcat  点击:(86)  评论:(0)  加入收藏
一,undertow介绍 1,undertow简介:Undertow是RedHAT红帽公司开源的产品,采用java开发,是一款灵活,高性能的web服务器,提供了NIO的阻塞/非阻塞API,也是Wildfly的默认Web容器。在javaw...【详细内容】
2021-05-07  Tags: Tomcat  点击:(184)  评论:(0)  加入收藏
说明最近项目上遇到一些https的问题,需要在tomcat里面测试一下如何开启https协议访问网站,在网上查了一些资料,自己也试了很多次,终于成功搞定了,下面跟大家分享一下我的一点经验...【详细内容】
2021-04-20  Tags: Tomcat  点击:(162)  评论:(0)  加入收藏
1 Jetty与glassfish的基本介绍1.1 研究背景及意义下图是对几个主流的应用服务器使用比率的粗率统计结果做出的一个饼图。这个图的数据也许不够精确,但它还是可以在一定程度上...【详细内容】
2021-04-06  Tags: Tomcat  点击:(199)  评论:(0)  加入收藏
Tomcat是什么?Tomcat是web容器。你在做web项目时,多数需要http协议,也就是基于请求和响应,比如你在百度输入一行内容搜索,那么百度服务器如何处理这个请求呢,他需要创建servlet来...【详细内容】
2021-03-24  Tags: Tomcat  点击:(290)  评论:(0)  加入收藏
有这样一个场景,公司为了安全起见,需要对所有登录Linux服务器做安全限制,要求除了管理员其他要登录linux服务器的员工不能用最高权限账号登录,要创建新的用户,对目录及文件权限做...【详细内容】
2021-03-04  Tags: Tomcat  点击:(178)  评论:(0)  加入收藏
热部署就是在服务器运行时重新部署项目,热加载即在在运行时重新加载class,从而升级应用。通常情况下在开发环境中我们使用的是热加载,因为热加载的实现的方式在Web容器中启动一...【详细内容】
2021-03-03  Tags: Tomcat  点击:(210)  评论:(0)  加入收藏
制作tomcat镜像先找到一个要安装的版本我们这里以拉取tomcat8的官方镜像为例 1:拉取官方镜像docker pull tomcat:8 2:查看镜像并启动tomcat容器docker imagesdocker run -d -p...【详细内容】
2021-03-01  Tags: Tomcat  点击:(323)  评论:(0)  加入收藏
▌简易百科推荐
一、为什么要搭建主从架构呢1.数据安全,可以进行数据的备份。2.读写分离,大部分的业务系统来说都是读数据多,写数据少,当访问压力过大时,可以把读请求给到从服务器。从而缓解数据...【详细内容】
2021-12-15  实战Java    Tags:Docker   点击:(10)  评论:(0)  加入收藏
在网页中渲染公式一直是泛学术工具绕不开的一个功能,最近更新产品功能,正巧遇到了这个需求,于是使用容器方式简单实现了一个相对靠谱的公式渲染服务。分享出来,希望能够帮到有类...【详细内容】
2021-12-01  编程菌zfn    Tags:Docker   点击:(10)  评论:(0)  加入收藏
1.1 docker命令直接部署1.1.1 拉取镜像docker pull wurstmeister/zookeeperdocker pull wurstmeister/kafka1.1.2 启动zookeeper容器docker run -d --name myzookeeper -p 2...【详细内容】
2021-11-15  无    Tags:docker   点击:(47)  评论:(0)  加入收藏
01 前言 顺着docker的发展,很多测试的同学也已经在测试工作上使用docker作为环境基础去进行一些自动化测试,这篇文章主要讲述我们在docker中使用浏览器进行自动化测试如果可以...【详细内容】
2021-10-29  小码哥聊软件测试    Tags:Docker   点击:(42)  评论:(0)  加入收藏
因为你懂得的原因,下载docker镜像速度非常喜感,故收集几个国内常用的docker镜像。Docker中国区官方镜像地址:https://registry.docker-cn.com网易163的镜像http://hub-mirror.c...【详细内容】
2021-10-28  抓蛙程序猿    Tags:docker   点击:(48)  评论:(0)  加入收藏
环境:Spring5.3.10通常,应用程序开发人员不需要对ApplicationContext实现类进行子类化。相反,SpringIOC容器可以通过插入特殊集成接口的实现来扩展。使用BeanPostProcessor自定...【详细内容】
2021-10-26  Java网络研发架构师    Tags:Spring   点击:(33)  评论:(0)  加入收藏
我们在很多场景下都需要做笔记,来对抗遗忘,一份好的笔记不仅能在需要的时候供我们查阅,也能帮助我们归纳整理知识提高做事效率。 目前市面上有很多云笔记软件,体验上各有不同,但...【详细内容】
2021-10-11  运维贼船    Tags:docker   点击:(61)  评论:(0)  加入收藏
1. Nacos官网Nacos Docker 快速开始2. Clone 项目git clone https://github.com/nacos-group/nacos-docker.git3. cd 到nacos-docker 路径下 直接启动即可cd nacos-dockerdo...【详细内容】
2021-09-16  程序狗爱化妆    Tags:Nacos   点击:(109)  评论:(0)  加入收藏
今天不做保姆级教程,分享奶爸常用、好用的Docker应用。有了这些Docker,Nas的可玩性会大幅提高,有时候奶爸也在想,刨去官方套件不考虑的话,Nas真的是差不多。如果小伙伴们有需要,后...【详细内容】
2021-09-03  晋升奶爸的垃圾佬    Tags:Docker   点击:(167)  评论:(0)  加入收藏
环境要求 ubuntu系统:20.04 docker版本:20.10.7 redis版本:6.0.6步骤由于我这里已经有相应的redis镜像,这里就不记录了,关于docker一些基础知识可以看我以前的笔记开启3台re...【详细内容】
2021-07-26  石老师小跟班    Tags:Redis主从复制   点击:(117)  评论:(0)  加入收藏
最新更新
栏目热门
栏目头条