01、Tomcat服务器学习和使用

本文详细介绍了Tomcat服务器的配置方法,包括端口配置、虚拟目录映射及浏览器与服务器交互原理等内容。通过本文,读者可以了解如何修改Tomcat端口、配置虚拟目录以及掌握基本的服务器交互流程。

一、Tomcat服务器

1.1、Tomcat端口配置

Tomcat的所有配置都放在conf文件夹之中,里面的server.xml文件是配置的核心文件。

如果想修改Tomcat服务器的启动端口,则可以在server.xml配置文件中的Connector节点进行的端口修改

1、端口修改

访问tomcat服务器:http://localhost:8080,其中8080表示端口.localhost是域名:访问本机:127.0.0.1.

例如:将Tomcat服务器的启动端口由默认的8080改成8081端口

a) Tomcat服务器启动端口默认配置

2c1b4e4b-e2f5-4aac-9215-54648dc64df7

b) 将Tomcat服务器启动端口修改成8081端口

9ace3cdf-0601-4577-83b4-22f9f50a144f

端口修改完成后必须重启Tomcat服务器生效。访问Tomcat主页可使用

http://localhost:8081/

2、端口占用和安装目录

  • netstat   -ano命令.查看占用端口的进程pid,再用任务管理器关闭

Catalina_Home:用于指定tomcat的安装目录.

d6f29be5-755e-4b35-bb12-98de34e13717

注:这个环境变量是针对多个tomcat服务器的识别,配置过所指定的目录会被运行,一般不推荐配置.

3、目录结构

7872ac07-b14d-41a9-9e43-583b6f89e418

1.2、Tomcat虚拟目录的映射

Web应用开发好后,若想供外界访问,需要把web应用所在目录交给web服务器管理,这个过程称之为虚似目录的映射。

虚拟目录的映射方式有很多种:

1、虚拟目录的映射方式一:在server.xml文件的host元素中配置

找到server.xml文件的host元素,如下图所示:

9e63c1ed-c2fc-4fea-8e3b-efc4812f4507

JavaWebApp这个虚拟目录是由Tomcat服务器管理的,JavaWebApp是自定义不存在的目录,所以称之为"虚拟目录"。

acf091d6-e93f-4440-859f-74e8dd625ae8

其中,Context表示上下文,代表的就是一个JavaWeb应用,Context元素有两个属性,

  • path:用来配置虚似目录,必须以"/"开头。
  • docBase:配置此虚似目录对应着硬盘上的Web应用所在目录。

使用浏览器访问"/JavaWebApp"这个虚拟目录下的1.jsp这个web资源,访问结果如下:

http://localhost:8080/JavaWebApp/hello.html

注意:在Tomcat6之后中,不再建议在server.xml文件中使用配置context元素的方式来添加虚拟目录的映射,

因为每次修改server.xml文件后,Tomcat服务器就必须要重新启动后才能重新加载server.xml文件。

2、虚拟目录的映射方式二:让tomcat服务器自动映射

tomcat服务器会自动管理webapps目录下的所有web应用,并把它映射成虚似目录。换句话说,

tomcat服务器webapps目录中的web应用,外界可以直接访问。

例如:把F盘下的JavaWebDemoProject这个JavaWeb应用直接copy到tomcat服务器webapps目录中,如下图所示:

f419e0e8-c675-4c94-b674-9674f8f6d83e

此时Tomcat服务器就会自动为JavaWebDemoProject这个JavaWeb应用映射一个同名的虚拟目录"/JavaWebDemoProject",

然后就可以使用浏览器访问这个JavaWeb应用的资源了,如下图所示:

d90ee1a3-fee6-4c08-9925-16c7516f5e1c

3、虚拟目录的映射方式三

在tomcat服务器的\conf\Catalina\localhost目录下添加一个以xml作为扩展名的文件,xml文件的名字可以任意。

Context元素的path属性是用来配置虚似目录的名称的,所以虚似目录的名称就是这个xml文件的名称。

$CATALINA_BASE指的就是tomcat服务器根目录,[enginename]指的是Tomcat服务器使用的引擎名称,Tomcat使用的引擎是Catalina

0d5bc2d4-75e9-4f3b-8090-b92eed175bb0

在aa.xml文件中添加Context元素映射JavaWeb应用,代码如下

<Context docBase="F:\JavaWebDemoProject"/>

注意:在Context元素中并没有指明path属性来设置虚拟目录的名称,那么"F:\JavaWebDemoProject"映射的虚拟目录就是当前正在编辑的这个xml文件的名称aa。

049aeef6-b317-4ad8-b5a0-181546e83851

使用这种方式映射虚拟目录的最大好处是修改了配置文件后不用重启Tomcat服务器

1.3、浏览器和服务器交互

当我们打在浏览器的地址栏中输入URL地址去访问服务器上web资源的过程中,浏览器和服务器都做了什么操作呢?

1) 浏览器根据主机名"www.gacl.cn"去操作系统的Hosts文件中查找主机名对应的IP地址。
2) 浏览器如果在操作系统的Hosts文件中没有找到对应的IP地址,就去互联网上的DNS服务器上查找"www.gacl.cn"这台主机对应的IP地址。
3) 浏览器查找到"www.gacl.cn"这台主机对应的IP地址后,就使用IP地址连接到Web服务器。
4) 浏览器连接到web服务器后,就使用http协议向服务器发送请求,发送请求的过程中,浏览器会向Web服务器以Stream(流)的形式传输数据,

   告诉Web服务器要访问服务器里面的哪个Web应用下的Web资源,如下图所示:

a2aa4831-a53f-4a48-9809-9f9f639ce7a3

  • GET:告诉Web服务器,浏览器是以GET的方式向服务器发请求。
  • /JavaWebDemo1/1.jsp:告诉Web服务器,浏览器要访问JavaWebDemo1应用里面的1.jsp这个Web资源。
  • HTTP/1.1:告诉Web服务器,浏览器是以HTTP协议请求的,使用的是1.1的版本。

5、浏览器做完上面4步工作后,就开始等待,等待Web服务器把自己想要访问的1.jsp这个Web资源传输给它。

6、服务器接收到浏览器传输的数据后,开始解析接收到的数据,服务器解析"GET /JavaWebDemo1/1.jsp HTTP/1.1"里面的内容时知道客户端浏览器要

   访问的是JavaWebDemo1应用里面的1.jsp这个Web资源,然后服务器就去读取1.jsp这个Web资源里面的内容,

   将读到的内容再以Stream(流)的形式传输给浏览器,如下图所示:

6006047c-0e14-406c-8ce9-2a18a735fc95

7、浏览器拿到服务器传输给它的数据之后,就可以把数据展现给用户看了,如下图所示:

1.4、JavaWeb应用组成结构

开发JavaWeb应用时,不同类型的文件有严格的存放规则,否则不仅可能会使web应用无法访问,还会导致web服务器启动报错

70eb5e9d-7cdb-4534-8a39-34155d07abc1

WebRoot - Web应用所在目录,一般情况下虚拟目录要配置到此文件夹当中。
┝WEB-INF:此文件夹必须位于WebRoot文件夹里面,而且必须以这样的形式去命名,字母都要大写。
┝web.xml:配置文件,有格式要求,此文件必须以这样的形式去命名,并且必须放置到WEB-INF文件夹中。

web.xml的格式可以直接从Tomcat中参考得到:找到Tomcat目录下的webapps\ROOT\WEB-INF这个目录下的web.xml文件,

把这个文件拷贝到我们新建的WEB-INF文件夹中,并修改这个web.xml文件,把里面的注释删除掉,只留下如下所示的代码即可:

<?xml version="1.0" encoding="ISO-8859-1"?>  
<web-app xmlns="http://java.sun.com/xml/ns/javaee"     
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"     
  xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"     
  version="2.5"
  metadata-complete="true">    
  <display-name>Welcome to Tomcat</display-name>    
  <description>       
      Welcome to Tomcat
   </description> 
</web-app>

1.5、打包JavaWeb应用

在Java中,使用"jar"命令来对将JavaWeb应用打包成一个War包,jar命令的用法只需要在dos下输入jar即可浏览。

67b16025-f00e-4b4c-b948-348894181388

将JavaWeb应用打包成一个war包,然后将这个war包放到Tomcat服务器的webapps目录下,当Tomcat服务器启动时,就会自动将webapps目录下的war包解压。

c1a71ed6-8985-49a3-ba87-778f0829e996

1.6、Tomcat体系结构

91bae187-dfc7-475c-8b73-5b54f5707b68

Tomcat服务器的启动是基于一个server.xml文件的,Tomcat启动的时候首先会启动一个Server,Server里面就会启动Service,

Service里面就会启动多个"Connector(连接器)",每一个连接器都在等待客户机的连接,当有用户使用浏览器去访问服务器上面

的web资源时,首先是连接到Connector(连接器),Connector(连接器)是不处理用户的请求的,而是将用户的请求交给一个Engine(引擎)

去处理,Engine(引擎)接收到请求后就会解析用户想要访问的Host,然后将请求交给相应的Host,Host收到请求后就会解析出用户想要

访问这个Host下面的哪一个Web应用,一个web应用对应一个Context。

转载于:https://www.cnblogs.com/pengjingya/p/5510895.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值