Web服务器TomCat快速入门(从安装到部署)

news2024/12/22 16:44:03

文章目录

  • 什么是Web服务器?
  • 相关概念
  • 基本使用
    • 下载安装
    • 卸载
    • 启动
    • 关闭
    • 配置
    • 部署
  • 📂橙子精品文章学习推荐

什么是Web服务器?

Web 服务器是一个应用程序,对 HTTP 协议的操作进行封装,使得程序员不必直接对协议进行操作,让 Web 开发更加的便捷。

Web 服务器是安装在服务端的一款软件,我们可以将自己的 Web 项目部署到 Web 服务器软件中,当 Web 服务器软件启动后,部署在 Web 服务器软件中的资源就可以通过浏览器来访问。Web 服务器主要的功能是提供网上信息浏览服务。

image-20230202132001549

既然 Web 服务器是一款软件,那么我们一定有很多的选择,这里我们使用的的是 TomCat ,TomCat 是 Apache 的一款轻量级 Web 服务器,提供了对 JSP 和 Servlet 的支持,之所以选择 TomCat,不仅因为它免费开源,而且具有操作简单,容易上手,跨平台实现等很多的优点,占有市面上大部分份额。

初学者入门学习 TomCat 主要从下面几个方面入手:

  • 相关概念
  • 安装,卸载,启动,关闭,配置和部署项目
  • IDEA 中创建 Maven Web项目
  • IDEA 中使用 TomCat 部署项目

下面我们首先从相关概念和基本使用方面入手,做一个详细的解读。

相关概念

TomCat 是 Apache 软件基金会的一个核心项目,是一个免费的轻量级的 Web 服务器,支持 Servlet / JSP 等少量的 JavaEE 规范,Servlet ,JSP 是动态网站使用的技术,被称为动态资源,而之前已经学习的 HTML,CSS,JavaScript 则是静态资源。每个人访问静态网站时的效果都是相同的,无法实现像登录这样的功能。

JavaEE 是指企业级 Java 开发,其中包含了 13 项技术规范,这些规范在 Java 中被称为接口,例如之前已经接触过的 JDBC。学习 TomCat 时要学习的规范是 Servlet 和 JSP。

因为 TomCat 支持 Servlet / JSP 的规范,所以 TomCat 也被称为 Web 容器,Servlet 容器,Servlet 需要依赖 TomCat 才能运行。

基本使用

下载安装

直接在官网下载 TomCat 压缩包即可,因为 TomCat 是绿色版软件,下载完成的压缩包直接解压即为安装成功。解压时,尽量选择没有中文和特殊字符的文件路径下,否则后期部署项目时可能会出现问题。

image-20230202134959871

下面是 TomCat 的文件中的目录结构,如图:

image-20230202135749822

可执行文件目录中存放了两种类型的可执行文件,其中 .bat 文件是 windows 系统的可执行文件。webapps 文件目录则用于项目的安装部署。

卸载

由于 TomCat 是一款绿色软件,所以卸载也十分的方便,只需要删除 TomCat 目录即可。

启动

在 TomCat 文件夹中,找到 bin 目录中的 start.bat ,双击运行。

image-20230202141726639

这里可能会遇到很多问题,例如控制台窗口一闪而过,表示 TomCat 启动失败,这个问题大部分是由于 JAVA_HOME 环境变量配置问题导致的,你要做的就是检查你的 JAVA_HOME 配置是否有问题。

为什么在启动 TomCat 时需要关心 Java 环境变量的配置呢?不难看出,TomCat本身也是由 Java 编写的,在 TomCat 文件中就存放了其运行依赖的 jar 包。在 TomCat 启动时,会用到 Java 的环境,所以错误的 Java 环境变量导致了 TomCat 启动失败。

当然导致 TomCat 的启动失败还可能是其他的一些原因,例如端口号被占用等,这里不在赘述。

关闭

关闭 TomCat 有三种方式:

  • 直接关闭命令行窗口:强制关闭
  • 执行 bin / shutdown.bat :正常关闭
  • 在命令行窗口使用快捷键 Ctrl + c :正常关闭

配置

解决启动过程中控制台窗口乱码的问题:在 conf / logging.prooperties 中修改配置文件为:

java.util.logging.ConsoleHandler.encoding = GBK

造成控制台中文乱码的原因是 windows 的控制台默认字符编码方式为 GBK,而 TomCat 默认使用 UTF-8 的方式编码。

有时可能因为端口号被占用的问题导致 TomCat 启动失败,此时我们可以通过修改程序占用的端口号解决问题。TomCat 默认的端口号为 8080,要想修改 TomCat 的启动端口号,则需要修改 conf / server.xml ,如下:

 <Connector port="80" protocol="HTTP/1.1"
 connectionTimeout="20000"
 redirectPort="8443" />

HTTP 协议使用的端口号是 80,如果将 TomCat 的端口号改为 80,则访问 TomCat 时将不用输入端口号。

部署

在使用 TomCat 部署 Web 项目时,只需要将项目放在 webapps 目录下,即完成部署。

一般情况下 JavaWeb 项目会被打成 war 包,然后我们将这个 war 包放置到 webapps 目录下,TomCat 就会自动解压这个 war 文件。

在 TomCat 文件中,本身自带了 Web 项目,我们可以尝试在浏览器中访问这个项目。如下图:

image-20230202144727129

第一步:启动 TomCat。

双击 bin/ start.bat ,启动 TomCat。如图:

image-20230202145033884

第二步:在浏览器中访问部署到 Web 服务器中的项目,直接输入 localhost 即可,前提是我们已经将 TomCat 占用的端口号改为 80。

image-20230202145155787

关闭 TomCat 服务器,此时浏览器已经无法访问到这个 Web 项目,如图:

image-20230202145522975

在大型 IDE 中开发 JavaWeb 项目时,我们每次部署项目都要将代码打包并且手动拷贝到 TomCat 文件目录中的 webapps 中,这样的操作十分的繁琐,所以,我们要学习如何在 idea 中使用 TomCat。在学习在 idea 中使用 TomCat 之前,先要学会在 idea 中创建 Maven Web 项目,这些内容都放在了下一章中。

下期见。


📂橙子精品文章学习推荐

❓很多朋友问我:怎样系统的学习一门编程语言?怎样学好 Java?强烈推荐大家学习:Java编程基础教程系列专栏(零基础小白搬砖逆袭),博主正处于学习成长阶段,更明白初学者的状态和需求,文章结合自身经验和经历,风趣幽默。本专栏主要更新 Java 基础,MySQL 数据库,JavaWeb,SSM 框架,SpringBoot 框架等,零基础小白搬砖逆袭,请相信自己。如图,专栏文章持续更新,快来和小伙伴们一起学习!!

在这里插入图片描述

Java编程基础教程系列 👈快速订阅

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【Linux 系统运维基础】Linux命令大全

Linux 命令大全立志列举出Linux中常用的所有命令(有很多命令不使用的话&#xff0c;很快会忘记哦)。 1. cd 目录前进/ 后缀 cd /表示跳转到根目录下&#xff0c;无论是哪个目录下&#xff0c;执行此命令后一定会跳转到根目录下。 cd ~ 表示跳转到主目录下。 cd . 表示跳转还…

【5.2】Nacos注册中心--服务多级存储模型

【【5.2】Nacos注册中心--服务多级存储模型1 Nacos服务多级存储模型2 服务跨集群调用问题3 配置集群属性4 总结1 Nacos服务多级存储模型 之前有服务的概念&#xff1a; 例如&#xff1a;提供用户查询的use-service和提供订单查询的order-service&#xff0c;它们都叫服务。 我…

Linux安装配置JDK安装运行Tomcat

Linux软件主流安装方式: tar:解压安装(前提将安装包下载下来) 安装包格式:tar,tar.gz,tar.bz 安装解压包命令: tar -zxvf 包名xxx rpm:直接安装,需要将安装包下载下来(好比双击window里的.exe文件) 安装包格式:rpm 安装命令:rpm -ivh 软件路径 卸载命令:rpm -e 软件包全名 y…

【GPLT 二阶题目集】L2-014 列车调度

火车站的列车调度铁轨的结构如下图所示。 两端分别是一条入口&#xff08;Entrance&#xff09;轨道和一条出口&#xff08;Exit&#xff09;轨道&#xff0c;它们之间有N条平行的轨道。每趟列车从入口可以选择任意一条轨道进入&#xff0c;最后从出口离开。在图中有9趟列车&am…

(蓝桥杯 刷题全集)【备战(蓝桥杯)算法竞赛-第1天】( 从头开始重新做题,记录备战竞赛路上的每一道题 )距离蓝桥杯还有75天

&#x1f3c6;&#x1f3c6;&#x1f3c6;&#x1f3c6;&#x1f3c6;&#x1f3c6;&#x1f3c6; 欢迎观看我的博客&#xff0c;如有问题交流&#xff0c;欢迎评论区留言&#xff0c;一定尽快回复&#xff01;&#xff08;大家可以去看我的专栏&#xff0c;是所有文章的目录&a…

2023年“华数杯”国际数模赛赛题浅析

2023华数杯如期开赛&#xff0c;本次比赛作为美赛的模拟赛&#xff0c;赛题和比赛时间都和美赛高度相似&#xff0c;因此大家 完全可以当作一次美赛之前的练习赛进行。美赛的发题时间与华数杯一致&#xff0c;都是早晨六点&#xff0c;现已经将机器翻译的初步翻译 结果进行了分…

Gdb调试复现Dirty Pipe漏洞(CVE-2022-0847)之内核态调试

第一、准备环节-增加内核调试辅助语句&#xff1a; 首先&#xff0c;为了更好的查看关键因素的变化&#xff1a;稍微做了两处修改&#xff1a; 第一处:splice前后&#xff0c;增加getchar和puts; 第二处:prepare pipe过程中&#xff0c;增加getchar和puts; 修改后代码执行结…

Spring Bean生命周期,就像人的一生

这篇我们来看一看Spring中Bean的生命周期&#xff0c;我发现&#xff0c;和人的一生真的很像。1 简单说说IoC和BeanIoC&#xff0c;控制反转&#xff0c;想必大家都知道&#xff0c;所谓的控制反转&#xff0c;就是把new对象的权利交给容器&#xff0c;所有的对象都被容器控制&…

利用STC15输出两路互补SPWM波形

利用STC15输出两路互补SPWM波形&#x1f39e;逻辑分析仪信号采集演示&#xff1a; &#x1f516;本案例使用的是IAP15W4K61S4验证。 &#x1f4cd;相关篇《STC15系列PWM相关功能寄存器介绍》 &#x1f4cc;相关开源PCB《【PCB开源分享】STC/IAP15W4K61S4开发板》 &#…

Linux(七)进程间通信

进程间是如何进行通信的&#xff1f; 通过前面的学习之后&#xff0c;我们知道进程间是具有独立性的&#xff0c;在操作系统的层面来看&#xff0c;进程就是一块pcb&#xff0c;是对运行中的程序动态运行过程的描述&#xff0c;在Linux角度下&#xff0c;进程就是一个task_stru…

2-2JVM-GC垃圾回收

GC垃圾回收 了解什么是垃圾回收掌握垃圾会回收的常见算法学习串行、并行、并发、G1垃圾收集器学习GC日志的可视化查看 1.什么是垃圾回收&#xff1f; 程序的运行必然需要申请内存资源&#xff0c;无效的对象资源如果不及时处理就会一直占有内存资源&#xff0c;最终将导致内…

YOLOv5/v7 Falsk Web 监测平台 | YOLOv5/v7 Falsk Web 部署

YOLOv7 Falsk Web 监测平台图片效果展示 YOLOv7 Falsk Web 监测平台视频效果展示 YOLOv7 Flask Web 检测平台 什么是Flask? 简介 Flask是一个轻量级的可定制框架,使用Python语言编写,较其他同类型框架更为灵活、轻便、安全且容易上手。它可以很好地结合MVC模式进行开发,开…

HTB_Jerry tomcat弱口令war包getshell

文章目录信息收集Tomcat war 包 getshell信息收集 扫描发现 8080 端口存在 tomcat 服务&#xff0c;访问 manage app 管理接口&#xff0c;需要输入账号密码 点击取消&#xff0c;看到默认账号密码&#xff0c;重新登录&#xff0c;登录成功&#xff0c;未修改 一般就是上传或…

JVM类加载

作用&#xff1a;负责从硬盘/网络中加载字节码信息&#xff0c;加载到内存中&#xff08;运行时数据区的方法区中&#xff09; 类加载过程&#xff1a; 加载 使用IO读取字节码文件&#xff0c;转换并存储 为每个类创建一个Class类的对象 存储在方法区中 链接&#xff08;…

Jackson注解使用分析

文章目录Jackson常用注解1. 常用注解汇总2. 注解使用分析JsonIncludeJsonAnyGetterJsonAnySetterJsonNamingJsonAutoDetectJacksonInjectJsonAliasJsonValueJsonMergeJsonRawValueJsonEnumDefaultValueJsonFilterJsonSerializeJsonDeserializeJacksonAnnotationJacksonAnnotati…

excel合并技巧:查找函数遇到合并单元格怎么应对

大家都在期盼奖金的到来&#xff0c;可是核算奖金的同事正在苦恼&#xff0c;因为以前用得好好的VLOOKUP函数突然不合适了&#xff0c;很多人的奖金计算出来都变成了乱码&#xff1a;使用VLOOKUP函数每个部门只有第一行正确&#xff0c;其他都是乱码。看到这个表&#xff0c;相…

【服务器数据恢复】raid5硬盘离线后热备盘未启用的数据恢复案例

服务器数据恢复环境&#xff1a; 某品牌X3850服务器&#xff0c;组建的raid5磁盘阵列&#xff0c;该raid5磁盘阵列包含4块成员盘和1块热备盘。 服务器故障&#xff1a; 服务器在运行过程中由于未知原因突然崩溃&#xff0c;用户方工程师检查后发现该故障服务器raid5阵列中2块磁…

Electron + Vue 开发环境搭建

1.安装nodejs&#xff0c;下载网址&#xff1a;https://nodejs.org/en/ 点击安装程序&#xff0c;一路next即可 安装完成之后打开cmd测试&#xff0c;输入node -v查看node版本&#xff0c;输入npm -v查看npm版本 安装完成后&#xff0c;.msi格式的安装包已经将node.exe添加到…

Excel连接openGauss数据库实操

目录 前言 一、通过excel 添加数据源访问openGauss 1、查看Excel版本 2、下载 ODBC驱动 3、安装ODBC驱动 4、添加ODBC数据源 5、在excel中添加数据源&#xff08;访问openGauss&#xff09; 二、通过excel 的VBA&#xff08;宏&#xff09;访问openGauss 1、宏权限设置…

2.1 java基础 day02 流程控制 创建类和对象 栈堆元空间

1流程控制 流程控制&#xff1a; 1.1.计算机在执行代码时对指令代码执行顺序的控制 1.2.Java 流程控制主要分三种&#xff1a; 顺序执行 分支执行 重复执行 1.3.顺序执行 按代码和语法出现的先后顺序执行 1.4.分支执行 根据判断条件执行分支逻辑 可选分支、必选分支&#…