`

Tomcat的许多许多

阅读更多

一、Tomcat的作用

简单地说,包装用户请求里面提交的数据,把请求传送给servlet并把结果返回给客户


二、Tomcat的各个组件

Tomcat的各个组件的嵌套方式

Tomcat的组件可以在<CATALINA_HOME>/conf/server.xml中配置



Tomcat工作模式:

1、 作为独立的servlet容器,有独立的Java虚拟机进程.[Tomcat其实也是一个Java程序,要用JVM运行]

2、 运行在其他的服务器进程内.此时Tomcat分为两个部分 : Web服务器插件+Servlet容器组件.当有Servlet的请求     ,Web服务器组件通知Servlet组件并转发请求[使用JNI通信机制].没有独立的JVM进程.

3、 运行在其他的服务器进程外.但同时也是为其他服务器服务.同样分为两个部分,功能一样[使用IPC通信机制].有独立的JVM进程.

: 后面两种一般是因为其他的Web服务器不支持Servlet.



Tomcat的运行

Tomcat6.x之前的版本,是使用JDK提供的Java编译器来编译JSP文件的

Tomcat6.x是用自带的JDT[Eclipse提供的]来编译JSP.

因此,如果JDK中不完整,但是只要有了JRE,就可以运行Tomcat6.x;[用的是jdk1.6.0目录下的JRE,而不是jre1.6.0]

配置JAVA_HOME的意义也是为了能够使用JVM来运行Tomcat ! 




五、Tomcat运行脚本:

命令行参数

描述

Start

在新的DOS窗口中启动Tomcat服务器

Run

在当前的DOS窗口中启动Tomcat服务器

Debug

在跟踪模式下启动Tomcat服务器

Embedded

在嵌入模式下启动Tomcat服务器

Stop

关闭服务器

其中,我们平时用的

Startup.batShutdown.bat,都是调用同一目录下的catalina.bat,:

Startup.bat = catalina start 命令

Shutdown.bat = catalina stop 命令

 

Cataline Run命令更适合调试所有,因为有时候出错了,那个独立运行TomcatDOS窗口会直接被关掉,这样就看不到错误信息了


Tomcat的目录结构

/bin 包含启动/关闭脚本

/conf 包含不同的配置文件,包括 server.xml(Tomcat的主要配置文件)和为不同的Tomcat配置的web应用设置缺省值的文 件web.xml
/doc 包含各种Tomcat文档
/lib 包含Tomcat使用的jar文件.unix平台此目录下的任何文件都被加到Tomcat的classpath中
/Logs 存放Tomcat的日志文件
/server 包含3个子目录:classes、lib和webapps
/webapp  包含web项目示例,当发布web应用时,默认情况下把web文件夹放于此目录下
/work  Tomcat自动生成,放置Tomcat运行时的临时文件(如编译后的JSP文件).如在Tomcat运行时删除此目录.JSP页面将 不能运行.[ jsp生成的sevlet放在此目录下]
/Common/lib 存在Tomcat服务器及所有的web应用程序可以访问的JAR文件
/Server/lib     存在Tomcat服务器运行所需的各种JAR文件。
/Share/lib 存在所有的web应用程序可以访问的JAR文件(不能被tomcat访问)

Server/lib,Share/lib,Common/lib目录下都可以放JAR,他们的区别在于:
在Server/lib, 目录下的JAR文件只能被Tomcat服务器访问。
在Share/lib, 目录下的JAR文件可以被所有的web应用程序访问,但不能被Tomcat服务器访问。
在Common/lib, 目录下的JAR文件可以被Tomcat服务器和所有的web应用程序访问。
此外,对于后面介绍Java Web应用程序,在它的WEB-INF目录下,也可以建立lib子目录,在lib子目录下可以存放各种JAR文件,这些JAR文件只能被当前WEB应用程序所访问。


Tomcat查找请求的servlet的顺序!

假设找AddServlet,现在请求URL:myApp/AddServlet

1、先参考web.xml文件,找到<url-pattern>子元素的值为/AddServlet<servlet-mapping>

2、读取<servlet-mapping>元素的子元素<servlet-name>的值X[所以如果两个<servlet-name不一致的话,是找不到servlet!>]

3、读取<servlet-class>子元素的值,接着去找class文件[怎么找看第8]

实际上,Tomcat在加载Web应用的时候,就会把它的web.xml文件加载到内存中去的.

 

 

 

Tomcat类加载器的工作

1) WEB-INF/classes

2) WEB-INF/lib[好像只会找jar文件]

3) Tomcatlib[会找jar和子目录]

待深入:

tomcat的类加载器以及其工作原理

 

 

、Tomcat Web应用的发布

Server.xml<Host>的配置项有一个属性是deployOnStartup,这个属性默认值为true

,如果为true,则tomcat每次启动时都会发布appBase目录下的所有Web应用,但是如果为false,就要自己在Server.xml中配置一个<Context>。如果我们没有配置<Context>则其实是使用默认的配置,默认的<Context>是reloadable是为false的。详细还是去看Tomcat的文档好了。

 

 

、为什么jsp可以不用再web.xml中配置,但是servlet就要呢??????

主要有两个原因:/

1、让一个servlet可以对应多个URL.web.xml里面,可以为一个servlet配置多个<servlet-mapping>

2、 简化servletURL,并且可以向客户端隐藏Web应用的实现细节.[因为jsp我们一般都只是放在项目根目录下,URL可以比较简单]

 

但其实,JSP也可以在web.xml中配置的。把servlet-class项换成jsp-file就行了。

 

 

十一Tomcat加载<Context>的顺序

一个<context>对应了一个Web应用,这个context.xml指定了这个项目的目录,所用的数据库资源什么的也可以在这里配上!

平时我们一般都是写完项目然后丢在tomcatwebapp里面,但是,如果我们要用到可以移植到其他电脑使用的话,就比较麻烦了,因为放在那里的话,tomcat会帮我们默认配置<context>

 

tomcat加载一个Web应用的时候,会自动去查找<context>,查找的顺序是:

这里定义 :  Tomcat_home = Tomcat安装目录

Engine_home = server.xml里面的Engine 其他同理

 

1、Tomcat_home/conf/context.xml : 适用于所有的Web应用.

2、Tomcat_home/conf/Engin_name/host_name/context.xml.default : 适用于host指定的主机下的所有应用

3、Tomcat_home/conf/Engine_name/host_name/app_name.xml [如果在IDE配置了我们自己装的                                                               Tomcat,那么在IDE上创建的Web项目的context配置就是放在这里]

4、  Web应用根目录下的META-INF/context.xml : 适用于当个Web应用.其实我自己觉得这个会比较好一点,因为是 放在Web项目下,这样增加了可移值性!/

5、Tomcat_home/conf/server.xml中找 , 适用于单个Web应用. 其实Tomcat6.x已经不建议这样使用了.

 

十二、Tomcat提供的管理JavaWeb应用的平台:通过该平台可以手动管理应用的生命周期

1、修改Tomcat_home/conf/tomcat-users.xml文件,加入一个user[当然已经有的就不用]

<tomcat-users>

<user username = "tomcat" password = "xxx" roles = "manager">

</tomcat-users>

2、启动Tomcat

3、访问http://localhost:8080/manager/html 输入帐号密码就OK

其实,这个管理平台本身也是一个JavaWeb应用,就是/webapps/manager

 

其他Tomcat配置虚拟主机

还没试过,貌似要配DNS的

  • 大小: 4.7 KB
分享到:
评论

相关推荐

    最新版 tomcat 9.0.10

    Apache Tomcat 9版本实现了Java社区过程中的Servlet 4和JavaServer页面2.3规范,并包含了许多额外的特性,使其成为开发和部署Web应用程序和Web服务的有用平台。 ...

    tomcat 系列 tomcat 系列

    Tomcat 6.0相较于5.5版本,更加注重了性能优化和内存管理,是许多开发者过渡到新规范的选择。 随后,Tomcat 7.x带来了Servlet 3.0的完整实现,以及JSP 2.2和EL 2.2的支持。这个版本还引入了NIO(非阻塞I/O)连接器...

    tomcat-redis-session-manager的jar包-包含Tomcat7和Tomcat8

    Tomcat7是Tomcat服务器的一个稳定版本,广泛用于许多生产环境。而Tomcat8则带来了更多改进,包括Servlet 3.1规范的支持,性能优化以及更好的多线程处理能力。因此,Tomcat-Redis-Session-Manager提供对这两个版本的...

    tomcat10 迁移工具

    Java EE 8引入了许多新特性和改进,例如HTTP/2支持、WebSocket API增强、JAX-RS 2.1等。因此,迁移过程中可能需要更新应用程序以充分利用这些新特性。 “jakartaee-migration-1.0.0”这个文件名暗示了一个用于帮助...

    tomcat压缩包

    总的来说,Tomcat是Java Web开发的重要工具,其易用性、轻量级和灵活性使其成为许多项目的选择。通过深入理解和熟练掌握Tomcat的工作原理和配置,开发者可以更有效地构建和维护高性能的Web应用。

    apache-tomcat-8.5.23.tar.gz 【Tomcat服务器,Tomcat8.5 linux版】

    Tomcat8.5是其在2017年发布的一个稳定版本,提供了许多增强的功能和性能改进。在这个“apache-tomcat-8.5.23.tar.gz”压缩包中,用户将获得适用于Linux操作系统的Tomcat服务器的安装文件。 首先,了解Tomcat的基本...

    linux64_tomcat7

    Tomcat 7引入了许多新特性,如改进的JMX(Java Management Extensions)支持,增强了管理工具,提升了性能,并对Servlet 3.0、JSP 2.2和EL 2.2等规范进行了支持。这些更新使得Tomcat 7成为开发和部署现代Java Web...

    apache-tomcat-9.0.27

    Tomcat以其轻量级、高效能和稳定性著称,是许多开发人员和企业部署Java Web应用程序的首选平台。以下是对这个版本的一些关键知识点的详细解释: 1. **Tomcat架构**:Tomcat由几个核心组件构成,包括Catalina...

    tomcat 8.5.100

    Tomcat是许多Web开发者首选的服务器,因为它轻量级、高效且易于配置。在本文中,我们将深入探讨Tomcat 8.5.100版本的主要特性和功能,以及如何安装、配置和管理这个版本。 1. **主要特性**: - **Java EE 7支持**...

    apache tomcat7 linux tomcat7

    在Linux系统中安装和配置Apache Tomcat7是许多系统管理员和开发者的常见任务。以下是一些关于这个主题的关键知识点: 1. **下载与解压**:首先,你需要从Apache官方站点下载Tomcat7的tar.gz文件,例如`apache-...

    tomcat 版本6、7、8

    这个版本在Tomcat5的基础上进行了许多优化,特别是对内存管理和线程处理的改进,使得服务器在处理高并发请求时性能有所提高。然而,Tomcat6不再支持最新的Java版本,如Java 9及以上,因此对于现代Java应用来说,它...

    apache-tomcat-8.5.53_tomcat的8.0版本_ApacheTomcat8.5_choiceyqj_

    Tomcat 8.5版本引入了许多新特性和性能提升,包括: 1. **Java Servlet 4.0**:Tomcat 8.5支持最新的Servlet规范,提供了异步处理能力、更好的WebSocket支持以及HTTP/2协议的支持,这有助于提高应用性能和响应速度...

    tomcat7.0.109下载

    总的来说,Tomcat 7.0.109作为一个成熟的Java Web服务器,虽然不再接收更新,但在许多项目中仍然被广泛使用,尤其是那些对Java EE 7支持有需求且希望保持稳定性的项目。了解和熟练掌握其配置和管理是任何Java Web...

    tomcat6 32位系统

    Tomcat 6.0支持Servlet 2.5和JSP 2.1规范,这两个规范提供了许多功能,如过滤器、监听器、表达式语言(EL)和统一标签库(JSTL),极大地促进了Web应用的开发和管理。 在Java Web开发中,Tomcat作为轻量级应用...

    tomcat8.0jar包

    Tomcat 8.0引入了许多重要的改进和新特性,例如: - **Java EE 7支持**:Tomcat 8.0兼容Java Enterprise Edition 7标准,支持WebSocket、JAX-RS 2.0等新技术。 - **NIO.2改进**:提供了更好的异步I/O处理,...

    tomcat9.0.44.zip

    其中,SpringBoot内置的Tomcat服务器是许多开发者首选的轻量级应用服务器。本文将详细探讨SpringBoot如何内置Tomcat 9.0.44以及它所包含的jar包,帮助开发者更好地理解和利用这一强大的工具。 首先,Tomcat 9.0.44...

    Tomcat参考手册中文版chm

    Tomcat以其轻量级、高效和易于管理的特性,成为了许多小型到中型企业级应用的首选服务器。 二、Tomcat安装与配置 1. 安装:Tomcat通常以zip或tar.gz格式提供,用户可以通过下载并解压到指定目录进行安装。 2. 配置...

    官方原版tomcat8.0.42 64位

    8.0.x系列是继7.x之后的一个主要版本,引入了许多新特性和改进。 2. **Servlet和JSP支持**:Tomcat是Java Servlet和JSP容器,它提供了运行这些Java Web组件所需的环境。Servlet是一种用于扩展Web服务器功能的Java类...

    Tomcat 5.5 Tomcat 6.0 安装版本

    它主要负责处理Java的动态内容,是许多企业级Java应用的首选服务器。在本文中,我们将深入探讨Tomcat 5.5和6.0这两个版本的安装与配置过程。 ### Tomcat 5.5 Tomcat 5.5是Tomcat的一个重要版本,它支持Java ...

    tomcat8.5.6版本下载

    Apache Tomcat8.5作为使用频率最高的tomcat版本之一,许多开发者都坚持在使用tomcat8.5版本进行编程开发使用

Global site tag (gtag.js) - Google Analytics