快速入门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.mfbz.cn/a/889845.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

解决无法安装“vue.volar“扩展,跟vscode版本不兼容问题

问题:安装volar插件的时候提示跟vscode版本不兼容 解决方案 1、进入VSCode插件市场,搜索Vue.volar(直达链接:volar下载界面) 2、点击download Extension(下载插件) 3、下载.vsix文件完成后&a…

Axure PR 9 开关切换 设计交互

大家好,我是大明同学。 这期内容,我们来探讨Axure开关按钮设计与交互技巧​。 创建切换开关所需的元件 1.打开一个新的 RP 文件并在画布上打开 Page 1。 2.将“圆形”元件拖到画布上,在样式窗格中将高度和宽度设置为35,线段宽度…

HTMLCSS练习

1) 效果如下 2) 代码如下 2.1) HTML <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta http-equiv"X-UA-Compatible" content"IEedge"><meta name"viewport" conte…

图像处理(二)——MDPI特刊推荐

特刊征稿 01 期刊名称&#xff1a; Computer Vision and Image Processing, 2nd Edition 截止时间&#xff1a; 投稿截止日期&#xff1a;2024年12月31日 目标及范围&#xff1a; 感兴趣的主题包括但不限于&#xff1a; 用于图像分类和识别的深度学习 对象检测和跟…

浙江省发规院产业发展研究所调研组莅临迪捷软件考察调研

2024年10月10日下午&#xff0c;浙江省发展与规划院产业发展研究所调研组一行莅临迪捷软件考察调研&#xff0c;绍兴市府办、区发改、区经信、迪荡街道等相关领导陪同。 调研组一行参观了迪捷软件的展厅与办公区&#xff0c;深入了解了迪捷软件的公司发展历程、运营状况、产品…

ECCV`24 | 新加坡国立华为提出Vista3D: 实现快速且多视角一致的3D生成

文章链接&#xff1a;https://arxiv.org/pdf/2409.12193 gitbub链接&#xff1a;https://github.com/florinshen/Vista3D 亮点直击 提出了Vista3D&#xff0c;一个用于揭示单张图像3D darkside 的框架&#xff0c;能够高效地利用2D先验生成多样的3D物体。开发了一种从高斯投影到…

tauri开发Mac电脑Safari浏览器一个很奇怪的问题:在 input 输入框输入的是全小写英文字母,会自动将首字母转换为大写解决办法

问题原因 在 Mac 系统中默认使用 Safari 的内核 WKWebView 作为渲染引擎&#xff0c;而 Safari 浏览器的一些 “人性化” 机制&#xff1a;如果输入框中输入的是全小写英文&#xff0c;会自动将首字母转换为大写。 解决办法 我只需要禁止这个默认的行为&#xff0c;即可解决这…

【js逆向学习】极志愿 javascript+python+rpc

JSRPC使用方式 逆向目标逆向过程逆向分析1、什么是 websocket2、websocket的原理3、总体过程3.1 环境说明3.2 python服务端代码3.3 python客户端代码 4、Sekiro-RPC4.1 执行方式4.2 客户端环境4.3 参数说明4.4 SK API4.5 python代码调试4.6 代码注入流程 逆向总结 逆向目标 网…

物联网智能项目(含案例说明)

物联网&#xff08;Internet of Things&#xff0c;简称IoT&#xff09;智能项目是指利用物联网技术将各种物理设备、传感器、软件、网络等连接起来&#xff0c;实现设备之间的互联互通&#xff0c;并通过数据采集、传输、处理和分析&#xff0c;实现智能化管理和控制的项目。以…

三品PLM系统赋能中小企业实现数字化转型迈向管理智能化

在全球化的浪潮中&#xff0c;发达国家的企业在管理体系上更具优势&#xff0c;常采用先进的PLM体系提升运营和战略规划效率。相较之下&#xff0c;国内中小企业在PLM系统的应用上明显滞后&#xff0c;中高层管理人员普遍缺乏相应的认知与实践经验&#xff0c;这限制了企业的创…

【命令操作】查看和分析系统各类日志--journalctl

原文链接&#xff1a;【命令操作】查看和分析系统各类日志–journalctl | 统信 | 麒麟 | 方德 Hello&#xff0c;大家好啊&#xff01;今天给大家带来一篇关于Linux系统上journalctl命令详解的文章。journalctl是systemd的日志查看工具&#xff0c;用于查看和管理系统日志&…

Windows系统编程 - 目录操作、磁盘、卷信息

前言 各位师傅大家好&#xff0c;我是qmx_07&#xff0c;今天继续讲解Windows系统编程的相关知识:目录操作 目录 目录操作 创建目录 通过CreateDirectory函数创建目录 原型: BOOL CreateDirectoryA([in] LPCSTR lpPathName,//目录名称[in, opt…

PostgreSQL学习笔记二:PostgreSQL的系统架构

PostgreSQL 是一种功能强大的开源关系型数据库管理系统&#xff0c;其架构具有以下特点&#xff1a; 一、客户端/服务器架构 客户端 客户端可以是各种应用程序&#xff0c;如 Web 应用、桌面应用等&#xff0c;它们通过网络连接与 PostgreSQL 服务器进行通信。客户端使用标准的…

PHP:下拉列表,颜色展示

PHP展示下拉列表&#xff0c;选项设置为数据库存储颜色进制&#xff0c;colorname是颜色名称&#xff0c;color是颜色进制 一、表结构 produce_info_nav1_colorshow produce_info_nav1 二、核心代码 //查询对应默认颜色 $sql_selcolor "SELECT color FROM produce_i…

List子接口

1.特点&#xff1a;有序&#xff0c;有下标&#xff0c;元素可以重复 2.方法&#xff1a;包含Collection中的所有方法&#xff0c;还包括自己的独有的方法&#xff08;API中查找&#xff09; 还有ListIterator&#xff08;迭代器&#xff09;&#xff0c;功能更强大。 包含更多…

使用超低功耗TinyML模型检测聋哑人士的手势语言

论文标题&#xff1a;Detecting Gesture Language for Deaf and Mute People Using Ultra-Low-Power TinyML Model 作者信息&#xff1a; Basel A. Dabwan&#xff0c;来自也门Albaydha的Albaydha University的信息系统系。Mukti E. Jadhav&#xff0c;来自印度Buldhana区Chi…

HFSS 教程之材料添加

在用HFSS做仿真时&#xff0c;会用到多种材料&#xff0c;其材料库中的材料是有限的&#xff0c;有时仿真对象零件所用的材料并不包含在其材料库中&#xff0c;这时就需要新加材料。HSS自带的材料库&#xff0c;我们称之为系统材料库&#xff0c;新加的材料不能存入系统材料库中…

Kubernetes:Seccomp、AppArmor、SELinux Pod 安全性标准和准入

在云原生环境中&#xff0c;为确保容器化应用的安全运行&#xff0c;Kubernetes 利用了 Linux 内核的三大安全机制&#xff1a;Seccomp、AppArmor 和 SELinux&#xff0c;并引入了 Pod 安全性标准与准入控制来增强 Pod 的安全性。 Seccomp、AppArmor、SELinux 简介 Seccomp、…

前端vue的样式

sass/scss 语法说明 less sass stylus 都是 css 预处理器&#xff0c;语法上稍有差异&#xff0c;作用一样 都是让 css&#xff0c;增强能力&#xff0c;具备变量&#xff0c;函数.. 的能力 sass的语法两种语法 .sass 和 .scss .sass 和 .stylus 语法很像 (了解)要求省略 {} …

php的echo和print输出语句⑥

在 PHP 中有两个基本的输出方式&#xff1a; echo 和 print。 echo 和 print 区别: echo : 可以输出一个或多个字符串 print : 只允许输出一个字符串。 提示&#xff1a;echo 输出的速度比 print 快&#xff0c; echo 没有返回值&#xff0c;print有返回值1。 <?php …