Tomcat基础学习笔记

目录

1. 什么是Tomcat

2. Tomcat中的应用程序是WAR包

3. Tomcat具有传统的Web服务器的功能:处理Html页面

3.1 Web基础

3.2 web的三大协议和四大角色

4. Tomat的下载,运行环境和配置,启动和访问

5. Tomcat项目结构

6. 手工创建和打包第一个web工程

7. Tomcat核心结构图

8. 创建虚拟目录

9. 创建虚拟主机

10. ManagerApp

11. 小结


【写在前面】

此文并非原创。是学习了这两篇文章之后的一个读书笔记。

如果想深入学习,可直接阅读原博文:

tomcat到底是干嘛的 - Cherishforchen - 博客园 (cnblogs.com)

Tomcat学习笔记(史上最全tomcat学习笔记) - 小白教程 (voidme.com)

1. 什么是Tomcat

(1)Tomcat是一种web服务器,也称作运行在服务器(物理意义上的计算机)上的一种软件包。用来对服务器上的HTML文档提供访问权限控制。

(2)用来装载javaweb程序,可称它为web容器。JSP/Servlet程序需要运行在web容器上,web容器有很多种,JBoss、WebLogic等等,Tomcat是其中一种。

(3)万维网本质上就是“超文本文档”(HTML文档)组成的一个通过超级链接互相访问的交互网络。你从甲计算机上的文档A,通过超链接访问乙计算机上的文档B,而B必须放在web服务器(Tomcat)里才能被访问。

(4)Tomcat是Apache 软件基金会的Jakarta 项目中的一个核心项目,由Apache、Sun 和其他公司及个人共同开发而成。Tomcat 服务器是一个免费的开源web应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP程序的首选。

(5)Tomcat是Apache 服务器的扩展,但它是独立运行的。所以当运行tomcat时,它实际上作为一个与Apache 独立的进程单独运行。诀窍是,当配置正确时,Apache为HTML页面服务,而Tomcat 实际上是运行JSP页面和Servlet。

2. Tomcat中的应用程序是WAR包

(1)WAR文件,即 WebArchive 文件。

(2)WAR是Sun提出的一种Web应用程序格式,与JAR类似,也是许多文件的一个压缩包。

这个包中的文件按一定的目录结构来组织:

通常其根目录下包含有Html和Jsp文件或者包含这两种文件的目录,另外还会有一个WEB-INF目录,这个目录很重要。

通常在WEB-INF目录下有一个web.xml文件和一个classes目录,web.xml是这个应用的配置文件,而classes目录下则包含编译好的Servlet类和Jsp或Servlet所依赖的其它类(如JavaBean)。

通常这些所依赖的类也可以打包成JAR放到WEB-INF下的lib目录下,也可以放到系统的CLASSPATH中,但那样移植和管理起来不方便。

3. Tomcat具有传统的Web服务器的功能:处理Html页面

Tomcat不仅是一个Servlet容器,同时也具有传统的Web服务器的功能:处理Html页面

3.1 Web基础

(1)C/S :客户端与服务器,即用户需要安装相应的客户端才能运行,典型的如QQ,微信。

优点:减轻服务端的处理压力,运算速度快,对客户端响应快

缺点:版本升级成本高,每次升级必须先卸载老版本再升级

(2)B/S:浏览器与服务器,本质上来说也是CS架构,只不过client变成了browser而已。

优点:不存在客户端升级问题,只需要升级服务端程序即可。

缺点:具体业务的处理压力全部加载到服务端,导致服务端程序运算速度降低,响应速度降低,用户体验差。

3.2 Web的三大协议和四大角色

4. Tomat的下载,运行环境和配置,启动和访问

tomcat是绿色软件,解压即可使用,无需安装。具体操作,等之后演示再附图。

5. Tomcat项目结构

(1)项目文件所在目录直接放项目资源文件。

(2)WEB-INF的/classes中存放servlet编译好的字节码文件。

(3)web.xml是配置文件,定义请求url和所访问的内容与Servlet间的映射关系,可指定欢迎页面等。

(4)lib中存放使用的依赖jar包。

6. 手工创建和打包第一个web工程

(1)准备好自己的web工程。

(2)将整个项目文件放在tomcat的webapps目录下。

(3)启动tomcat服务器,通过浏览器正常访问。

(4)将webapps中项目删除,控制台中进入项目目录

(5)输入命令:jar -cvf d:\xxx\xxx.war .

其中:

cvg是命令参数,表示生成一个文档、显示生成过程、指定生成的文件名.

xxx为打包后要存放的路径和打包后的文件名,根据自己需求修改.

注意,最后需输入一个空格再加一个'.'代表打包该目录下所有文件。

7. Tomcat核心结构图

(1)Tomcat的核心配置都在conf\server.xml文件中,核心结构图如下:

(2)解析所包含的各个部分

一个server服务器可以有多个service服务

每个service服务都是由engine引擎提供的。

每个engine引擎中可以有多台主机或者虚拟主机,如localhost和virtual host。

localhost中又可以包含多个context应用。

engine引擎通过connector连接器使得浏览器可以访问服务器。

(3)解析配置文件conf\server.xml

1)关于服务service,可以看到name为Catalina,包含有多个connector。

第一个端口为8080,协议是HTTP/1.1,20000ms的延迟。

重定向端口为8443,uri编码为utf-8,即我们常说的通过浏览器访问http://localhost:8080

当8080端口被占用时,可以在此修改端口(注意,当应用上线时,必须将端口号改为80,因为浏览器发出的HTTP请求的默认端口为80端口);

第二个connector较为简单,就不分析了。

2)这个server服务器里有一个engine引擎,name为Catalina,默认端口就是localhost。

3)重要!!!可以看到,

engine里面有一个host主机,name为localhost。

appBase为webapps,这里也就说明了为什么通常要把项目文件放在webapps中

unpackWARs为true,这个属性的意思是自动解压war包。

autoDeploy为true,代表着当开启tomcat服务器时,项目就会自动部署上线。

在这里可以根据实际生产需求去改变它。

8. 创建虚拟目录

待更新

9. 创建虚拟主机

待更新

10. ManagerApp

 待更新

11. 小结

(1)tomcat是一个中间件,在B/S架构中,浏览器发出的http请求经过tomcat中间件,转发到最终的目的服务器上,响应消息再通过tomcat返回给浏览器。

(2)tomcat所做的事情主要有:开启监听端口来监听用户的请求,解析用户发来的http请求,然后访问到用户指定的应用系统,最后返回的页面经过tomcat返回给用户。

(3)web应用放到tomcat里面才能跑得起来,而tomcat里面对项目有规定特定的格式,就是war包的格式,这就是为什么我们需要把项目打成war才能放进去。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值