当前位置: 首页 > news >正文

Tomcat下载、安装及配置详细教程

一、Tomcat是什么

        Tomcat是一个开源的、轻量级的应用服务器,是Apache软件基金会的一个项目。它实现了Java Servlet、JavaServer Pages(JSP)和Java Expression Language(EL)等Java技术,用于支持在Java平台上运行的动态Web应用程序。Tomcat的全名是Apache Tomcat。

        Tomcat 的主要组件包括 Server 服务器、Service 服务、Connector 连接器和 Container 容器。
        Connector 连接器和 Container 容器是 Tomcat 的核心。一个 Container 容器和一个或多个 Connector 连接器组合在一起,加上其他一些支持组件共同组成一个 Service 服务,有了 Service 服务便可以对外提供服务能力。
        不过 Service 服务的正常运行需要一个生存环境,这个环境便是 Server 服务器,Server 服务器为 Service 服务的正常运行提供了生存环境,且 Server 服务器可以同时管理一个或多个 Service 服务。
        对于企业来说,Tomcat 7.0 和 Tomcat 8.0 是使用比较广泛的版本。基本上 Tomcat 6.0 以下的版本都不再使用。

二、安装Tomcat

2.1 Tomact官网

        Tomcat 官网提供安装版和解压版两种版本的安装包,通常选择解压版即可,下载相应版本的安装包,直接解压就可以使用。

Apache Tomcat® - Welcome!https://tomcat.apache.org/        下面以apache-tomcat-7.0.79.exe 为例,演示 Tomcat 的安装与部署。

2.2 安装步骤

(1)双击exe文件

(2)同意相关协议

(3)选中service startup

(4)配置端口

(5)将其配置到你的jdk路径下

(6)选择你的安装路径

        最好自己新建一个文件夹

(7)点击install安装

(8)直接点击finish

(9)运行Tomcat

(10)验证

三、Tomcat启动失败问题

        如果启动失败,可能存在以下两种情况。
【情况一】双击 startup.bat 后窗口一闪而过。
        如果双击 startup.bat 后窗口一闪而过,请查看 JAVA_HOME 是否配置正确。双击 startup.bat 会调用 catalina.bat,而 catalina.bat 会调用 setclasspath.bat,setclasspath.bat 会使用 JAVA_HOME 环境变量,因此我们必须在启动 Tomcat 之前把 JAVA_HOME 配置正确。
【情况二】启动失败,提示端口号被占用。
        如果启动失败,提示端口号被占用,则将默认的 8080 端口修改为其他未使用的值,例如 8989 等。具体操作步骤如下,打开 Tomcat 解压目录下“conf\server.xml”文件,找到第一个 <Connector> 标签,修改 port 属性值,如下图所示。

        按照上图查找<Connector>标签,修改port属性值
        Web 服务器在启动时,实际上监听了本机上的一个端口,当有客户端向该端口发送请求时,Web 服务器就会处理请求。但是如果不是向其所监听的端口发送请求,Web 服务器不会做任何响应。例如,Tomcat 启动监听了 8989 端口,而访问的地址是“http://localhost:8080”,将不能正常访问。

http://www.xdnf.cn/news/1315279.html

相关文章:

  • STL 容器
  • Kotlin集合概述
  • 第16节:自定义几何体 - 从顶点构建3D世界
  • 【MySQL学习|黑马笔记|Day7】触发器和锁(全局锁、表级锁、行级锁、)
  • 《Python学习之文件操作:从入门到精通》
  • Linux 服务:iSCSI 存储服务配置全流程指南
  • Java基础面试题(3)—Java(String字符串的存储方式,字面量)
  • 链表OJ题讲解---试金石含金量
  • 6个日常工作中常用的工作法:清单工作法、PDCA循环、SMART原则、6W2H 分析法等方法
  • CSS中linear-gradient 的用法
  • 《Vuejs设计与实现》第 14 章(内建组件和模块)
  • Docker+飞算JavaAI=未来:全流程容器化AI开发实战
  • Matlab课程实践——基于MATLAB设计的计算器软件(简单、科学、电工、矩阵及贷款计算)
  • python实现梅尔频率倒谱系数(MFCC) 除了傅里叶变换和离散余弦变换
  • p5.js 3D 形状 “预制工厂“——buildGeometry ()
  • Mitt 事件发射器完全指南:200字节的轻量级解决方案
  • fastadmin 后台列表自定义搜索
  • 【递归、搜索与回溯算法】记忆化搜索
  • 当 AI 开始 “理解” 情感:情感计算技术正在改写人机交互规则
  • KingbaseES:一体化架构与多层防护,支撑业务的持续稳定运行与扩展
  • geekbench riscv镜像下载
  • 【Virtual Globe 渲染技术笔记】8 顶点变换精度
  • 提升 LLM 推理效率的秘密武器:LM Cache 架构与实践
  • Node.js导入MongoDB具体操作
  • 埃式筛法欧拉筛法质数分布定理
  • C++核心语言元素与构建块全解析:从语法规范到高效设计
  • EC11编码器
  • 关于原理解析和编程技巧的深度探索!
  • 【计算机网络面试】TCP/IP网络模型有哪几层
  • LaTeX中表示实数集R的方法