快速入门Tomcat服务(业务发布基础技能)

文章目录
1 Tomcat简介
2 安装tomcat
        2.1 安装jdk
        2.2 安装Tomcat
3 Tomcat目录结构
4 Tomcat重要配置文件

1 Tomcat简介

Tomcat是Sun公司官方推荐的Servlet和JSP容器,在中小型系统和并发访问用户不是很多的场合下,其作为轻量级应用服务器,被广泛地使用。

在一般的应用中,Tomcat常作为Apache的扩展部分,为运行JSP页面和Servlet提供服务,独立的Servlet容器是Tomcat的默认模式。事实上,Tomcat和IIS、Apache等Web服务器一样,具有处理HTML页面的功能,只是它处理静态HTML的能力不如Apache服务器。

Tomcat服务器作为轻量级的服务器软件,无法满足复杂业务场景的要求,也没有复杂和丰富的功能;但Tomcat是免费开源的,且体积小,安装和部署都很方便,系统资源占用率低,是主要的Servlet和JSP容器,在这方面它比绝大多数的商业应用软件服务器要好。

与Tomcat相关的几个概念:

(1)Servlet:Servlet是一种运行在服务器端的Java程序,用于处理客户端的请求并生成响应。Servlet是Java EE规范的一部分,而Tomcat作为Servlet容器,负责管理和执行Servlet。

(2)JSP(JavaServer Pages):JSP是一种基于HTML、CSS和JavaScript的动态网页技术,它可以嵌入Java代码片段来生成动态内容。当用户访问JSP页面时,服务器会将JSP转换为Servlet,然后执行并返回结果。

(3)Web应用:Web应用是由多个Servlet、JSP和其他资源文件组成的集合,它们共同构成了一个完整的Web应用程序。在Tomcat中,Web应用通常被打包成WAR(Web Archive)文件,并部署到Tomcat的webapps目录下。

(4)Context:在Tomcat中,每个Web应用都运行在一个称为Context的独立环境中。Context包含了Web应用的配置信息、Servlet定义和其他相关设置。每个Context都有一个唯一的上下文路径,用于访问该Web应用中的资源。

(5)Connector:Connector是Tomcat的核心组件之一,负责处理客户端的连接请求。它监听指定的端口号(默认是8080),接收HTTP请求并将其传递给相应的Web应用进行处理。Connector还负责将Web应用的响应发送回客户端。

(6)Catalina:Catalina是Tomcat的主要组件之一,它是一个实现了Java EE规范的Servlet容器。Catalina负责加载和执行Servlet,以及管理Web应用的生命周期。

2 安装tomcat

操作系统:

2.1 安装jdk

(1)获取安装包

官网下载地址:

https://www.oracle.com/java/technologies/javase/javase-jdk8-downloads.html

需要有oracle账号才能下载。

根据你们实际环境来下载对应的安装包。我演示的环境是linux的x86架构安装包

(2)安装Java环境

解压jdk到指定目录:

# 将安装包解压到/data目录下
[root@localhost ~]# tar -xvf jdk-8u421-linux-x64.tar.gz -C /data

添加环境变量

[root@localhost ~]# vi /etc/profile

在文件末尾添加下面内容:

export JAVA_HOME=/data/jdk1.8.0_421  
export JAVA_BIN=$JAVA_HOME/bin
export CLASSPATH=:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$PATH:$JAVA_BIN

让配置生效

[root@localhost ~]# source  /etc/profile

验证安装

[root@localhost ~]# java -version
java version "1.8.0_421"
Java(TM) SE Runtime Environment (build 1.8.0_421-b09)
Java HotSpot(TM) 64-Bit Server VM (build 25.421-b09, mixed mode)

2.2 安装Tomcat

(1)获取安装包

官网下载地址:

https://tomcat.apache.org/download-90.cgi

目前9和10版本用的比较多,11还是测试版,生产环境不建议使用,我演示环境选择9版本

(2)关闭防火墙或开启特定端口

# 关闭防火墙
systemctl disable --now firewalld# 开启特定的tomcat端口,默认端口是8080
firewall-cmd --add-port=8080/tcp --per
firewall-cmd --reload

(3)启动Tomcat

解压安装包

[root@localhost ~]# tar -xvf apache-tomcat-9.0.95.tar.gz -C /data/

修改tomcat名字

[root@localhost ~]# cd /data/
[root@localhost data]# mv apache-tomcat-9.0.95/ tomcat9

启动Tomcat

[root@localhost ~]# cd /data/tomcat9/bin/
[root@localhost bin]# ./startup.sh 
Using CATALINA_BASE:   /data/tomcat9
Using CATALINA_HOME:   /data/tomcat9
Using CATALINA_TMPDIR: /data/tomcat9/temp
Using JRE_HOME:        /data/jdk1.8.0_421
Using CLASSPATH:       /data/tomcat9/bin/bootstrap.jar:/data/tomcat9/bin/tomcat-juli.jar
Using CATALINA_OPTS:   
Tomcat started.

(4)检查Tomcat状态 能查到对应的端口和进程就说明服务已经正常启动

[root@localhost bin]# netstat -lntup |grep 8080[root@localhost bin]# ps -ef |grep tomcat

访问Tomcat:IP+端口

3 Tomcat目录结构

初始安装后的目录如下图:

bin:脚本文件目录。
lib:存放所有web项目都可以访问的公共jar包(使用Common类加载器加载)。
conf:存放配置文件,最重要的是server.xml。
logs:存放日志文件。
shared/lib:仅对所有WEB APP可见,对TOMCAT不可见(使用Shared类加载器加载)。
temp:Tomcat运行时候存放临时文件用的。
webapps:web应用发布目录。
work:Tomcat把各种由jsp生成的servlet文件放在这个目录下。删除后,启动时会自动创建。

4 Tomcat重要配置文件

conf/server.xml:主要的配置文件,常用于修改端口。
conf/web.xml:缺省的web app配置,WEB-INF/web.xml会覆盖该配置。

以上是Tomcat的一些基本概念和部署过程,后续文章将进一步介绍Tomcat的常用功能和调优相关知识。

如果你觉得这个作品对你有帮助,请不吝点赞、收藏,关注并分享给身边更多的朋友。如果你有任何疑问或建议,欢迎在评论区留言交流。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/444912.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

无刷直流电机工作原理:【图文讲解】

电动机 (俗称马达) 是机械能与电能之间转换装置的通称。可以分为电动机和发电机.一般称电机时就是指电动机。这个在日常应用中,比较多见,比如机器人,手机,电动车等。 直流电机:分为有刷直流电机(BDC&#…

HTTP的工作原理

HTTP(Hypertext Transfer Protocol)是一种用于在计算机网络上传输超文本数据的应用层协议。它是构成万维网的基础之一,被广泛用于万维网上的数据通信。(超文本(Hypertext)是用超链接的方法,将各种不同空间的文字信息组…

【MySQL】CRUD增删改查操作

文章目录 CRUD简介一、Creat 新增1.单行数据全列插入2.单行数据全指定列插入3.多行数据指定列插入 二、Retrieve 检索1.全列查询 --练习阶段最简单的查询:(在生产环境最好不要用!!)2.指定列查询3.结果去重查询4.where条…

柒拾伍- AI内容农场生产文章自动发布至公众号 (一)

一、内容农场 X AI 看过很多的新闻说 AI 产生 内容 污染网络,我也想试一下到底能污染成怎样。 然后为了编写爆款的内容,我选用这个 内容农场 的种子是来源于 微博热搜,让生长出来的垃圾文章更加火爆 涉及内容不能放 二、编写代码 关于代…

常用类(一)----包装类的使用和分析

文章目录 1.包装类2.课堂测试题3.包装类方法4.Integer创建机制5.Integer面试题 1.包装类 概念:基本数据类型对应的类就是包装类,就是为了把基本数据类型转换为包装类,使用这个类里面的方法操作数据----装箱的过程; //装箱&#…

springboot查询全部部门流程

前端发送请求后,会请求DeptController的方法list()。 package com.intelligent_learning_aid_system.controller;import com.intelligent_learning_aid_system.pojo.Dept; import com.intelligent_learning_aid_system.pojo.Result; import com.intelligent_learni…

ArcGis JS天地图 暗色地图

方法一&#xff1a;使用css filter 在body下增加svg&#xff0c;并增加需要用到的滤镜&#xff0c;这边用到x-rays <svg id"svgfilters" aria-hidden"true" style"position: absolute; width: 0; height: 0; overflow: hidden"version"…

Kafka-初识

一、Kafka是什么&#xff1f; Kafka是一个高度可扩展、弹性、容错和安全的分布式流处理平台&#xff0c;由服务器和客户端组成&#xff0c;通过高性能TCP网络协议进行通信。它可以像消息队列一样生产和消费数据。可以部署在裸机硬件、虚拟机和容器上&#xff0c;也可以部署在本…

鼠标市场洞察:数据分析揭示消费趋势!

鼠标整体数据分析 一. 概述 本报告基于从淘宝商品搜索接口和淘宝精确月销量接口中提取的数据&#xff0c;分析了前百个品牌在销售额上的占比情况。分析涵盖了销售额和占比的数据&#xff0c;为决策提供了依据。(以上两个接口有需求的可以找我要链接&#xff09; 1. 大盘整体…

基于Python flask的豆瓣电影可视化系统,豆瓣电影爬虫系统

博主介绍&#xff1a;✌Java徐师兄、7年大厂程序员经历。全网粉丝13w、csdn博客专家、掘金/华为云等平台优质作者、专注于Java技术领域和毕业项目实战✌ &#x1f345;文末获取源码联系&#x1f345; &#x1f447;&#x1f3fb; 精彩专栏推荐订阅&#x1f447;&#x1f3fb; 不…

ppt压缩文件怎么压缩?压缩PPT文件的多种压缩方法

ppt压缩文件怎么压缩&#xff1f;当文件体积过大时&#xff0c;分享和传输就会变得困难。许多电子邮件服务对附件的大小有限制&#xff0c;而在网络环境不佳时&#xff0c;上传和下载大文件可能耗时较长。此外&#xff0c;在不同设备上播放时&#xff0c;较大的PPT文件还可能导…

基于FPGA的以太网设计(一)

以太网简介 以太网&#xff08;Ethernet&#xff09;是一种计算机局域网技术。IEEE组织的IEEE 802.3标准制定了以太网的技术标准&#xff0c;它规定了包括物理层的连线、电子信号和介质访问控制的内容。以太网是目前应用最普遍的局域网技术&#xff0c;取代了其他局域网标准如…

GA-BP回归预测 | MATLAB实现GA-BP多输入单输出回归预测

回归预测 | MATLAB实现GA-BP多输入单输出回归预测 目录 回归预测 | MATLAB实现GA-BP多输入单输出回归预测预测效果基本介绍模型描述遗传算法神经网络GA-BP网络程序设计学习总结参考资料预测效果 基本介绍 MATLAB实现GA-BP多输入单输出回归预测,输入7个特征,输出1个,优化权重…

指针——数组(指针)传参

&#xff08;一&#xff09;前文问题答案解析 1、代码 int(*pa[10])[5] 的解析 某人&#xff1a;嗯&#xff0c;有*pa&#xff0c;这不很明显是个指针嘛&#xff0c;然后 [5] 说明是个数组指针&#xff0c;int类型&#xff0c;[10]。。。。 这这这&#xff0c;很明显不是指针。…

第38讲:Ceph分布式存储集群部署

文章目录 1.Ceph分布式存储集群安装方式2.Ceph集群环境规划3.基础环境配置3.1.设置主机名以及SSH免密登录3.2.配置Ceph yum源 4.部署Ceph分布式存储集群4.1.安装Ceph-deploy自动化部署工具4.2.初始化创建一个Ceph分布集群4.3.在每个节点中部署Ceph集群所有的组件4.4.部署并配置…

DevOps

DevOps中的Dev指的是Development&#xff08;开发&#xff09;&#xff0c;Ops指的是Operations&#xff08;运维&#xff09;&#xff0c;DevOps就是打通开发运维的壁垒&#xff0c;实现开发运维一体化。 一、项目开发考虑的维度 Dev&#xff1a;怎么开发。 Ops&#xff1a…

基于FPGA的以太网设计(二)

一.以太网硬件架构概述 前文讲述了以太网的一些相关知识&#xff0c;本文将详细讲解以太网的硬件架构 以太网的电路架构一般由MAC、PHY、变压器、RJ45和传输介质组成&#xff0c;示意图如下所示&#xff1a; PHY&#xff1a;Physical Layer&#xff0c;即物理层。物理层定义了…

IO进程--day1

一、定义学生结构体 学生信息&#xff1a;学号&#xff0c;姓名&#xff0c;成绩等编写2个函数 save_stu 和 load_stu save_stu通过 fprintf 将arr数组中的3个学生的所有信息&#xff0c;保存到文件中去 load_stu通过 fscanf 将文件中的3个学生的所有信息&#xff0c;读取到一个…

【cocos creator】输入框滑动条联动小组建

滑动条滑动输入框内容会改变 输入框输入&#xff0c;滑动条位置改变 const { ccclass, property } cc._decorator;ccclass() export default class SliderEnter extends cc.Component {property({ type: cc.Float, displayName: "最大值", tooltip: "" }…

linux设备驱动介绍

目录 一.裸机设备驱动 vs linux设备驱动 1.什么是驱动程序 2.裸机驱动和操作系统驱动有什么区别 3.linux驱动的本质是什么 二.linux设备分类 一.裸机设备驱动 vs linux设备驱动 1.什么是驱动程序 一般来说能让硬件工作起来的程序就是驱动程序,驱动程序提供的是硬件设备操作的…