如今,基于Web的应用越来越多,传统的Html已经满足不了如今的需求。我们需要一个交互式的Web,于是便诞生了各种Web语言。如Asp,Jsp,Php等。当然,这些语言与传统的语言有着密切的联系,如Php基于C和C 语言,Jsp基于Java语言。Tomcat即是一个Jsp和Servlet的运行平台。
Tomcat是一个免费的开源的Serlvet容器,它是Apache基金会的Jakarta项目中的一个核心项目,由Apache,Sun和其它一些公司及个人共同开发而成。由于有了Sun的参与和支持,最新的Servlet和Jsp规范总能在Tomcat中得到体现。Tomcat被JavaWorld杂志的编辑选为2001年度最具创新的java产品,可见其在业界的地位。
Tomcat最新版本是4.0x.4.0x与3.x的架构不同,而是重新设计的。Tomcat4.0x中采用了新的Servlet容器:Catalina,完整的实现了Servlet2.3和Jsp1.2规范。Tomcat提供了各种平台的版本供下载,可以从http://jakarta.apache.org上下载其源代码版或者二进制版。由于Java的跨平台特性,基于Java的Tomcat也具有跨平台性。
与传统的桌面应用程序不同,Tomcat中的应用程序是一个WAR(WebArchive)文件。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中,但那样移植和管理起来不方便。
在Tomcat中,应用程序的部署很简单,你只需将你的WAR放到Tomcat的webapp目录下,Tomcat会自动检测到这个文件,并将其解压。你在浏览器中访问这个应用的Jsp时,通常第一次会很慢,因为Tomcat要将Jsp转化为Servlet文件,然后编译。编译以后,访问将会很快。另外Tomcat也提供了一个应用:manager,访问这个应用需要用户名和密码,用户名和密码存储在一个xml文件中。通过这个应用,辅助于Ftp,你可以在远程通过Web部署和撤销应用。当然本地也可以。
Tomcat不仅仅是一个Servlet容器,它也具有传统的Web服务器的功能:处理Html页面。但是与Apache相比,它的处理静态Html的能力就不如Apache.我们可以将Tomcat和Apache集成到一块,让Apache处理静态Html,而Tomcat处理Jsp和Servlet.这种集成只需要修改一下Apache和Tomcat的配置文件即可。
rumen8.com-入门吧收集整理入门资料
另外,Tomcat提供Realm支持。Realm类似于Unix里面的group.在Unix中,一个group对应着系统的一定资源,某个group不能访问不属于它的资源。Tomcat用Realm来对不同的应用(类似系统资源)赋给不同的用户(类似group)。没有权限的用户则不能访问这个应用。Tomcat提
供三种Realm,1:JDBCRealm,这个Realm将用户信息存在数据库里,通过JDBC获得用户信息来进行验证。2:JNDIRealm,用户信息存在基于LDAP的服务器里,通过JNDI获取用户信息。3:MemoryRealm,用户信息存在一个xml文件里面,上面讲的manager应用验证用户时即使用此种Realm.通过Realm我们可以方便地对访问某个应用的客户进行验证。
在Tomcat4中,你还可以利用Servlet2.3提供的事件监听器功能,来对你的应用或者Session实行监听。Tomcat也提供其它的一些特征,如与SSL集成到一块,实现安全传输。还有Tomcat也提供JNDI支持,这与那些J2EE应用服务器提供的是一致的。说到这里我们要介绍一下通常所说的应用服务器(如WebLogic)与Tomcat有何区别。应用服务器提供更多的J2EE特征,如EJB,JMS,JAAS等,同时也支持Jsp和Servlet.而Tomcat则功能没有那么强大,它不提供EJB等支持。但如果与JBoss(一个开源的应用服务器)集成到一块,则可以实现J2EE的全部功能。既然应用服务器具有Tomcat的功能,那么Tomcat有没有存在的必要呢?事实上,我们的很多中小应用不需要采用EJB等技术,Jsp和Servlet已经足够,这时如果用应用服务器就有些浪费了。而Tomcat短小精悍,配置方便,能满足我们的需求,这种情况下我们自然会选择Tomcat.
rumen8.com-入门吧收集整理入门资料
基于Tomcat的开发其实主要是Jsp和Servlet的开发,开发Jsp和Servlet非常简单,你可以用普通的文本编辑器或者IDE,然后将其打包成WAR即可。我们这里要提到另外一个工具Ant,Ant也是Jakarta中的一个子项目,它所实现的功能类似于Unix中的make.你需要写一个build.xml文件,然后运行Ant就可以完成xml文件中定义的工作,这个工具对于一个大的应用来说非常好,我们只需在xml中写很少的东西就可以将其编译并打包成WAR.事实上,在很多应用服务器的发布中都包含了Ant.另外,在Jsp1.2中,可以利用标签库实现Java代码与Html文件的分离,使Jsp的维护更方便。
Tomcat也可以与其它一些软件集成起来实现更多的功能。如与上面提到的JBoss集成起来开发EJB,与Cocoon(Apache的另外一个项目)集成起来开发基于Xml的应用,与OpenJMS 集成起来开发JMS应用,除了我们提到的这几种,可以与Tomcat集成的软件还有很多。 Tomcat确实是一个很好的工具,不仅仅因为其免费,功能强大,更因为其开放性。如今,开源软件越来越收到人们的重视,Linux就是一个成功的典型。人们不再限于只使用软件,而且已经关心起软件的具体实现。我们有理由相信Tomcat会走得更远。
rumen8.com-入门吧收集整理入门资料

什么是Tomcat?Tomcat是什么意思?相关推荐

  1. Tomcat - Tomcat 8.5.55 启动过程源码分析阶段三_start阶段

    文章目录 启动流程分析 Pre Star阶段 start总览 start源码分析 StandardServer Start StandardService Start StandardEngine S ...

  2. Tomcat - Tomcat 8.5.55 启动过程源码分析阶段二_load加载初始化

    文章目录 启动流程分析 Pre load 加载初始化 总体预览 源码解析 load() Server初始化 Service初始化 Engine初始化 Connector 初始化 小结 启动流程分析 P ...

  3. Tomcat - Tomcat 网络通信模型剖析 并发参数解读

    文章目录 什么是IO Tomcat 支持四种线程模型 Tomcat 如何使用指定IO模型 Tomcat BIO VS NIO BIO NIO 影响 BIO/NIO线程数量的多少的因素 Tomcat c ...

  4. Tomcat - Tomcat 8.5.55 启动过程源码分析阶段一_init实例化Bootstrap

    文章目录 Pre 生命周期统一管理组件LifeCycle 启动入口类查找 启动流程分析 启动总览 init 实例化 Bootstrap Pre 上篇我们搭建了tomcat的源码环境: Tomcat - ...

  5. Tomcat - Tomcat套娃式架构与配置文件的对应关系解读

    文章目录 套娃式架构 套娃架构之配置文件 server.xml 套娃式架构 看看上面的整体架构图 server-service-----connector/container-----engine-- ...

  6. Tomcat - Tomcat的套娃式架构设计初探

    文章目录 Tomcat的主要功能 Tomcat的架构初探 Connector 组件 -Coyote Coyote的组成 Container 组件 -Catalina Catalina 的组成 serv ...

  7. Tomcat - Tomcat安装

    Tomcat官网:http://tomcat.apache.org/ 准备:JAVA环境布置完成 一.Windows平台 1. 版本选择 1) 进入官网 2) 查看版本匹配 官网说明 https:// ...

  8. 配置tomcat tomcat与nginx的整合

    前几天终于肝完了jQuery,和朋友交流了一下才发现,自己的服务器只有前端没有后端,前一阵看的Javaspring完全没有运行环境,没办法,补一下后端的配置. tomcat配置 昨晚研究了半天,恶补了 ...

  9. tomcat tomcat配置 项目部署tomcat三种方式

    一.tomcat概述 服务器的简单分类: 1.http服务器  主要用来专门处理静态页面. 2.JavaWeb服务器(轻量级别服务器)   最典型的是tomcat服务器,仅仅实现了JAVAEE13种规 ...

  10. react项目服务器Tomcat,tomcat部署react项目的方法

    tomcat部署react项目的方法 发布时间:2020-12-16 09:44:42 来源:亿速云 阅读:151 作者:小新 这篇文章主要介绍了tomcat部署react项目的方法,具有一定借鉴价值 ...

最新文章

  1. 洪小文: 今天的AI只是一个黑盒,仍需与HI密切配合
  2. 关于职业目标规划的一点讨论
  3. Linux 永久挂载(mount)
  4. 团队作业1——团队展示选题
  5. System.Threading.Interlocked.Exchange(ref m_Value, value);
  6. 78、VLAN间路由配置实验之单臂路由
  7. 搜索时,怎样排除不需要的关键字
  8. Java JNI初探
  9. wordpress插件 WBOLT百度推送管理 3.4.6 Pro PJ
  10. [java理论篇]--java的面向对象
  11. Vuejs 事件监听
  12. eclipse Unable to build: the file dx.jar was not loaded from the SDK folder的解决办法
  13. Qt_QSS 样式表属性大全
  14. stvd使用中的一些问题
  15. 华为云挂载磁盘及初始化数据盘(Linux)
  16. 怎么得到PreparedStatement查询条数的结果
  17. 区域D绕直线L旋转形成的旋转体体积计算
  18. ADAM A METHOD FOR STOCHASTIC OPTIMIZATION
  19. 网站服务器到期后 内容释放,服务器到期后多久释放
  20. 一个 SAP 开发工程师在 SAP 德国总部出差的见闻系列 1:出差 ≠ 公费旅游

热门文章

  1. mysql中的unique key和null之间的关系
  2. 全栈开发实战|​电子商务平台的设计与实现(Spring Boot + MyBatis + Thymeleaf)
  3. 爆笑课堂:程序员看得懂的搞笑段子
  4. php study计算闰年,IOS_IOS获取指定年月的当月天数,前言 在开发IOS中常常需要用 - phpStudy...
  5. 简便的进制转换方法(不简便打我,反正也打不到,hhh)
  6. 设计模式-05.01-行为型-观察者模板模式
  7. JAVA 黑马学习笔记记录 for switch while do...while
  8. java floor cell_英语翻译The cell floor and its composite liner system was sloped
  9. 剪辑视频,教你虚化边框背景一看就会
  10. 通过网络链接显示网页中的图片