Apache Tomcat 是一个历史悠久的开源Java Servlet 容器,它实现了多个核心Java 企业规范,即Java Servlet、JavaServer Pages (JSP) 和WebSockets API。
Tomcat 是Apache 软件基金会的一个项目,于1998 年首次发布,距Java 发布仅四年。 Tomcat 最初是作为Java Servlet API 和JSP 规范的第一个参考实现。尽管Tomcat不再是这两种技术的参考实现,但Tomcat仍然是使用最广泛的Java服务器,具有经过充分测试和验证的核心引擎以及良好的可扩展性。
[[334437]]
Tomcat是哪种服务器?Java 生态系统支持多种类型的应用服务器,所以让我们消除它们的歧义,看看Tomcat 适合什么地方:
Servlet 容器是Java Servlet 规范的实现,主要用于托管Java Servlet。 Web 服务器是一种设计用于从本地系统(例如Apache 服务器)提供文件服务的服务器。 Java 企业应用程序服务器是Java EE(现在的Jakarta EE)规范的完全成熟的实现。本质上,Tomcat 是一个Servlet 和JSP 容器。 Java Servlet 封装了代码和业务逻辑,并定义了Java 服务器中应如何处理请求和响应。 JSP是一种服务器端视图呈现技术。作为开发人员,您编写servlet 或JSP 页面并让Tomcat 处理路由。
让我们首先使用Tomcat 托管servlet 和JSP。
下载并安装Tomcat作为软件世界的老祖宗,Tomcat有很多版本可供选择。有关版本差异的信息可以在Tomcat 主页上找到。通常,您可以选择最新的稳定版本。
Tomcat的Windows安装如果您运行的是Windows 并且想要使用安装程序,只需下载.exe 文件并运行它。 Tomcat 将自身安装为具有合理默认值的服务。然后它会通知您安装位置,您可以像在此处解压缩存档一样继续操作。
步骤1.命令行安装转到命令行并输入gunzip apache-tomcat-9.0.19.tar.gz,然后输入tar -xf apache-tomcat-9.0.19.tar。这将创建以下目录:
/bin 包含用于执行Tomcat 的脚本。 /webapps 是您部署应用程序的位置。 /logs是Tomcat输出日志的位置。请注意,/logs/catalina.out 默认情况下会进入Tomcat 的日志。您可以将此文件与特定于应用程序的日志文件一起使用来调试问题。 /lib 是Tomcat 查找JAR 的位置。此处将存储Tomcat 未附带的其他包,例如JPA。 /conf 是Tomcat 的配置XML,您可以在其中为Tomcat 添加用户和角色等操作。步骤2.启动Tomcat如果您将Tomcat 安装为服务,则它已经在运行。否则,请在命令行中输入./catalina.sh start 来启动它。 (键入不带参数的./catalina.sh 以查看所有可用命令)。您现在应该能够在浏览器中浏览到Tomcat 的欢迎屏幕。
在Tomcat中部署应用程序Tomcat 的webapps 目录是您部署应用程序的位置。您可以将.war 文件放在那里,Tomcat 将运行它。 WAR 文件是Web 应用程序资源的标准包装:一个JAR 文件,其中包含一些其他文件,这些文件告诉容器(在本例中为Tomcat)如何运行它。
除了标准打包之外,还可以通过其他三种方式在Tomcat 中部署内容。
爆炸式部署“分解”的Web 应用程序是未压缩为WAR 文件的应用程序,这意味着它仍然包含目录和文件中列出的所有元素。您解压的Tomcat 归档文件附带了几个以这种方式部署的示例,您可以在/webapps/examples 目录中找到它们。扩展部署的优点是您可以查看其中的文件,而不必担心压缩问题。
如果您导航到http://localhost:8080/examples/,您将找到链接列表。该页面由Tomcat 通过/webapps/examples/index.html 文件呈现。 Tomcat 正在从文件系统提供HTML 文件,该文件系统是充当Web 服务器的Tomcat Coyote 引擎的实例。
请随意浏览所提供的示例,它们可以让您很好地了解Tomcat 服务servlet、JSP 和WebSocket 的功能。
Tomcat 默认还包含一个管理应用程序,该应用程序位于/manager 路径下。除此之外,该应用程序允许您从Web 控制台启动、停止和重新部署应用程序。
提供静态内容为了提高性能(主要是在交付静态内容方面),Tomcat 还提供适用于Windows 和Linux 的本机包装器。这称为Tomcat APR,更多信息请参见此处。这些对于典型用例来说不是必需的,但很容易理解。
嵌入式Tomcat长期以来,Jetty 是唯一能够作为嵌入式服务器运行的服务器。现在情况已经改变,现在Tomcat 也可以嵌入式运行。使用嵌入式服务器的想法是,您不再拥有一个包含应用程序文件的服务器,而是拥有一个具有主类(即独立的Java 应用程序)的应用程序,该主类在其代码库中调用服务器函数:总的来说,这提供了一种更简单、更便携的开发模型,并很快成为标准。例如,Spring Boot 使用在开发模式下运行的嵌入式Tomcat 实例。
运行嵌入式服务器可以简化操作,因为您现在只处理单个组件(应用程序),而不是同时处理应用程序和服务器部署。另一方面,Tomcat 作为独立主机运行的设置仍然很常见。
TomEE通过将这些库添加到Tomcat 本身或作为应用程序依赖项,可以将更多标准Java EE(或Jakarta EE)功能与Tomcat 一起使用。另一个选择是TomEE 服务器。 TomEE 与Tomcat 引擎相同,但具有额外的Java 企业支持,包括流行的JPA 和CDI(上下文和依赖注入)API。 TomEE 的规范基于Java EE Web 配置文件,因此它为您提供的不仅仅是Tomcat,也不是像WildFly 或Glassfish 这样成熟的Java EE 应用服务器。
高可用性和集群Tomcat 支持高可用性和集群。本质上,高可用性是指故障转移到服务器的另一个实例并重新创建会话的能力,就好像没有发生任何问题一样。集群是指创建同一服务器的多个版本来处理大量流量的能力。
结论Tomcat 保持积极开发,与时俱进,为部署Web 应用程序提供坚实可靠的平台。它的持续受欢迎和选择作为许多PaaS 系统的默认Java 平台证明了它的持续成功。
关于什么是Apache Tomcat?原始Java Servlet容器-servlet和tomcat的关系和的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。
本文采摘于网络,不代表本站立场,转载联系作者并注明出处:https://www.iotsj.com//kuaixun/7454.html
用户评论
我一直在学习JavaWeb,最近看资料提到Tomcat,感觉它很像引擎一样启动应用程序。
有18位网友表示赞同!
原来Servlet就是用来做网页交互吧,Tomcat能帮我更好地管理这些Servlet。
有14位网友表示赞同!
之前不知道Tomcat和Servlet的关系这么密切,它们缺一不可啊。
有16位网友表示赞同!
学习Java开发,了解这些基础知识真的很重要,像Tomcat这种容器以后肯定要用到。
有13位网友表示赞同!
简单来说,Apache Tomcat就是专门运行Servlet程序的工具是吗?
有11位网友表示赞同!
看来想要做好Java Web开发,要熟悉Tomcat是必然趋势吧。
有20位网友表示赞同!
我比较好奇Java Servlet和Tomcat在实际项目中的应用场景。
有10位网友表示赞同!
这篇文章解释的很清楚,让我对Apache Tomcat有更深层次的理解了。
有6位网友表示赞同!
原来Java Web开发这么复杂,还好有Tomcat帮我们处理后台工作。
有17位网友表示赞同!
学习Servlet和Tomcat是一个必须的过程,可以更好的掌握Java Web开发的核心。
有19位网友表示赞同!
感觉Tomcat越来越重要了,现在很多的Web项目都是基于它运行的。
有12位网友表示赞同!
这篇文章让我对Apache Tomcat有了更全面的认识,之前只是知道它是个容器,但具体的功能却不太了解。
有17位网友表示赞同!
看来以后学习开发Java Web应用的时候要重点关注Servlet和Tomcat这两个概念
有14位网友表示赞同!
从这篇介绍来看,Apache Tomcat是一个非常优秀的开源Servlet容器,非常实用!
有19位网友表示赞同!
希望以后有机会能够自己搭建一个Tomcat环境,进行一些简单的项目体验。
有10位网友表示赞同!
学习Tomcat让我更理解了Java Web开发的架构和逻辑,感觉思路变得清晰很多。
有16位网友表示赞同!
这篇文章对Servlet和Tomcat的关系进行了很好的解释,让新手更容易理解。
有20位网友表示赞同!
感谢作者分享这些知识,帮助我们入门Java Web开发!
有20位网友表示赞同!