Tomcat 11 下载/安装 与基本使用

为什么要使用Tomcat?

使用Apache Tomcat的原因有很多,以下是一些主要的优点和特点:

1. 开源与免费

Tomcat是一个完全开源的项目,任何人都可以免费使用。它由Apache软件基金会维护,拥有一个活跃的社区,这意味着开发者可以获得大量的支持和资源。

2. 轻量级与高性能

Tomcat被设计为轻量级的Java Servlet容器,启动和运行速度非常快。它不需要过多的系统资源,这使得它在处理高并发请求时表现出色,适合用于大规模应用。

3. 易于安装和配置

Tomcat的安装过程简单明了,提供了多种安装选项,包括Windows服务安装程序。配置文件(如server.xml)易于理解,使得开发者能够快速上手并进行必要的调整。

4. 支持Java EE规范

Tomcat实现了Java Servlet、JavaServer Pages(JSP)和WebSocket等多种Java EE规范。这使得它能够有效地处理动态内容,并且与Java技术栈中的其他组件(如Spring、Hibernate)无缝集成。

5. 可扩展性和灵活性

Tomcat具有良好的扩展性,支持通过插件和模块进行功能扩展。开发者可以根据项目需求自定义Tomcat的行为,以满足特定要求。

6. 安全性

Tomcat提供了多种安全功能,如身份验证、授权和数据加密等。这些特性使得它非常适合需要遵循严格安全标准的企业应用,比如金融行业。

7. 兼容性

由于Tomcat是基于Java开发的,它能够与各种操作系统和平台兼容。这种跨平台能力使得开发者能够在不同环境中部署应用程序,而无需进行大量修改。

8. 社区支持

作为一个成熟的开源项目,Tomcat拥有庞大的用户群体和丰富的文档资源。无论是遇到技术问题还是寻找最佳实践,开发者都能在社区中找到帮助。

9. 适合云环境

Tomcat非常适合用于云计算环境,其轻量级特性和易于扩展的能力使得它能够有效应对变化的负载需求。此外,它支持集群和会话复制,确保高可用性。

774f65dba70848ecb1974fdab1bde330.png

 什么是Tomcat?

        Tomcat是一个轻量级的Web服务器,主要用于运行Java Servlet和JSP。它封装了HTTP协议,使得开发者能够更方便地构建和管理Web应用程序。由于其开源和跨平台的特性,Tomcat受到许多Java开发者的青睐。

d7a275bdbe944fbf8b7b87dca3bc4700.png

 Tomcat下载,安装

首先访问官网直接下载对应的压缩包  Apache Tomcat® - Apache Tomcat 11 Software Downloads

fa3aad0667bb46a7a55b306662a61059.png

        如果你想要手动配置和运行 Tomcat,那么你可以选择下载 Windows ZIP 文件。这种格式的压缩包包含所有的 Tomcat 文件,可以解压后直接进行配置和启动。

        如果你希望通过安装向导来简化安装过程,并希望能够将 Tomcat 作为 Windows 服务运行,那么你应该选择 Windows Service Installer。这个安装包会自动进行相关配置,安装完成后会自动将 Tomcat 设置为 Windows 服务,方便管理。

  • 选择 Windows ZIP:如果你希望手动安装和配置 Tomcat。
  • 选择 Windows Service Installer:如果你希望通过安装向导进行安装,并希望将其作为服务运行。

        这里我们以window为例,选择最新的11版本进行下载演示,下载完成后,选择合适的路径进行解压即可,

Tomcat目录结构

简单介绍一下这些文件目录作用:

  • bin:存放启动和关闭Tomcat的脚本文件。
  • conf:存放配置文件,如server.xml(主要配置文件)、web.xml等。
  • lib:存放Tomcat运行所需的库文件(JAR包)。
  • logs:存放运行日志文件。
  • temp:存放临时文件。
  • webapps:存放Web应用程序,可以直接将WAR包或解压后的项目放在此目录下进行部署。

这是我们解压后的文件目录,以后我们要部署的项目就需要放在  webapps  这个目录下

9d5661d641d34523972728e6ae01b827.png

启动Tomcat

06963d16175f49edb2e09bb35d6cf459.png

找到  bin/startup.bat  启动服务 

82d758fb55ef4cdf9158c8e78533cdfb.png

启动成功后,我们可以看到中文乱码,因此我们需要去解决一下这个问题 

c9c1399863614fd29fa7f10c91db75c2.png

修复在中文乱码

找到这个文件,打开它     "apache-tomcat-11.0.0\conf\logging.properties"   

deef89f268aa4826bc2a2521c9c758b4.png

 打开后找到第 51 行,将 UTF - 8,替换成 GBK,然后 保存一下 ,即可完成

71be5a8f4a7d43a085262922e1376a3a.png

 当我们再次启动tomcat ,就会发现 乱码已经恢复正常了

0e0f93b8c6fb42e9849e8b34c21eca24.png

访问Tomcat

Tomcat默认占用端口号是 8080 .

先启动再访问,输入 localhost:8080   ,即可进入欢迎界面

41cc27ea4e174cc696ee5bd62e83b315.png

常见问题

1.检查 JAVA_HOME 环境变量是否正确

如果遇到第一种情况,启动后一闪而过,需要检查Java的环境变量

54164a7c6d774160b6a613f0df3eb56e.png

2.端口号冲突

        如果有别的进程占用了8080,关掉即可;如果遇到不能关闭的情况,我们需要重新配置Tomcat的端口号

86e0faed5b2647f48f2df01dd486c4d0.png

3.日志查看

如果遇到问题,可以查看 logs/catalina.out 或其他日志文件以获取详细错误信息。

部署项目

直接将项目放置再 webapps  这个目录下,即可。

假设我们 有一个 demo  项目 ,我们直需要这样  http://localhost:8080/demo/index.html  即可访问

总结

        Apache Tomcat因其开源、轻量、高性能以及良好的安全性而成为Java Web应用程序开发和部署的首选平台。无论是初学者还是经验丰富的开发者,都可以利用Tomcat提供的强大功能来构建高效、可靠的Web应用程序。

 

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

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

相关文章

Django入门教程——用户管理实现

第六章 用户管理实现 教学目的 复习数据的增删改查的实现。了解数据MD5加密算法以及实现模型表单中,自定义控件的使用中间件的原理和使用 需求分析 系统问题 员工档案涉及到员工的秘密,不能让任何人都可以看到,主要是人事部门进行数据的…

[ 问题解决篇 ] 解决远程桌面安全登录框的问题

🍬 博主介绍 👨‍🎓 博主介绍:大家好,我是 _PowerShell ,很高兴认识大家~ ✨主攻领域:【渗透领域】【数据通信】 【通讯安全】 【web安全】【面试分析】 🎉点赞➕评论➕收藏 养成习…

微信小程序时间弹窗——年月日时分

需求 1、默认当前时间2、选择时间弹窗限制最大值、最小值3、每次弹起更新最大值为当前时间&#xff0c;默认值为上次选中时间4、 minDate: new Date(2023, 10, 1).getTime(),也可以传入时间字符串new Date(2023-10-1 12:22).getTime() html <view class"flex bb ptb…

【Spring框架】Spring框架的开发方式

目录 Spring框架开发方式前言具体案例导入依赖创建数据库表结构创建实体类编写持久层接口和实现类编写业务层接口和实现类配置文件的编写 IoC注解开发注解开发入门&#xff08;半注解&#xff09;IoC常用注解Spring纯注解方式开发 Spring整合JUnit测试 Spring框架开发方式 前言…

江协科技STM32学习- P24 DMA数据转运DMA+AD多通道

&#x1f680;write in front&#x1f680; &#x1f50e;大家好&#xff0c;我是黄桃罐头&#xff0c;希望你看完之后&#xff0c;能对你有所帮助&#xff0c;不足请指正&#xff01;共同学习交流 &#x1f381;欢迎各位→点赞&#x1f44d; 收藏⭐️ 留言&#x1f4dd;​…

【刷题11】CTFHub技能树sql注入系列

整数型注入 看到源码了&#xff0c;直接sql一套秒了 字符型注入 SQL 报错注入 构造payload 1 and (select extractvalue(1,concat(’~’,(select database())))) 后续步骤跟sql基本步骤一样 SQL 布尔注入 人工测试太麻烦&#xff0c;这里直接使用sqlmap,知道这有sql注入漏洞&am…

面试经典 150 题.P26. 删除有序数组中的重复项(003)

本题来自&#xff1a;力扣-面试经典 150 题 面试经典 150 题 - 学习计划 - 力扣&#xff08;LeetCode&#xff09;全球极客挚爱的技术成长平台https://leetcode.cn/studyplan/top-interview-150/ 题解&#xff1a; class Solution {public int removeDuplicates(int[] nums) …

docker中使用ros2humble的rviz2不显示问题

这里写目录标题 docker中使用ros2humble的rviz2不显示问题删除 Docker 镜像和容器删除 Docker 容器Linux服务器下查看系统CPU个数、核心数、(make编译最大的)线程数总结&#xff1a; RVIZ2 不能显示数据集 docker中使用ros2humble的rviz2不显示问题 问题描述&#xff1a; roo…

ELK + Filebeat + Spring Boot:日志分析入门与实践(二)

目录 一、环境 1.1 ELKF环境 1.2 版本 1.3 流程 二、Filebeat安装 2.1 安装 2.2 新增配置采集日志 三、logstash 配置 3.1 配置输出日志到es 3.2 Grok 日志格式解析 3.2 启动 logstash ​3.3 启动项目查看索引 一、环境 1.1 ELKF环境 springboot项目&#xff1a;w…

基于SSM土家风景文化管理系统的设计

管理员账户功能包括&#xff1a;系统首页&#xff0c;个人中心&#xff0c;用户管理&#xff0c;景点分类管理&#xff0c;热门景点管理&#xff0c;门票订单管理&#xff0c;旅游线路管理&#xff0c;系统管理 前提账号功能包括&#xff1a;系统首页&#xff0c;个人中心&…

Linux特种文件系统--tmpfs文件系统

tmpfs类似于RamDisk&#xff08;只能使用物理内存&#xff09;&#xff0c;使用虚拟内存&#xff08;简称VM&#xff09;子系统的页面存储文件。tmpfs完全依赖VM&#xff0c;遵循子系统的整体调度策略。说白了tmpfs跟普通进程差不多&#xff0c;使用的都是某种形式的虚拟内存&a…

不同概率分布的更新过程——Python实现(均匀分布、卡方分布、指数分布等作为概率分布的更新过程)

更新过程(renewal process)是描述元件或设备更新现象的一类随机过程。以下是对更新过程的详细介绍: 一、定义与特点 定义:设对某元件的工作进行观测,假定元件的使用寿命是一随机变量,当元件发生故障时就进行修理或换上新的同类元件,而且元件的更新是即时的(修理或更换…

GIT分布式版本控制系统基础操作

问题大纲 1、什么分布式版本控制系统 2、简述Git的使用分为哪几个步骤 3、克隆和拉取的区别是什么&#xff1f; 4、git相关的所有指令 一、分布式版本控制系统 分布式版本控制系统是一种版本控制系统&#xff0c;它允许每个用户都拥有完整的项目历史记录和版本控制信息。与…

ArcGIS必会的选择要素方法(AND、OR、R、IN等)位置选择等

今天来看看ArcGIS中的几个选择的重要使用方法 1、常规选择、 2、模糊查询、 3、组合复合条件查询&#xff08;AND、OR、IN&#xff09;&#xff0c; 4、空值NULL查询 5、位置选择 推荐学习&#xff1a; 以梦为马&#xff0c;超过万名学员学习ArcGIS入门到实战的应用课程…

Spring Bean创建流程

Spring Bean 创建流程图 大家总是会错误的理解Bean的“实例化”和“初始化”过程&#xff0c;总会以为初始化就是对象执行构造函数生成对象实例的过程&#xff0c;其实不然&#xff0c;在初始化阶段实际对象已经实例化出来了&#xff0c;初始化阶段进行的是依赖的注入和执行一…

rtp协议:rtcp包格式和传输间隔

RTP Control Protocol -- RTCP-rtp控制协议 实时传输控制协议&#xff08;RTCP&#xff09;基于对会话中的所有参与者定期传输控制包&#xff0c;使用与数据包相同的分发机制。底层协议必须提供数据包和控制包的多路复用&#xff0c;例如使用UDP时使用不同的端口号。RTCP执行四…

2024年医疗人工智能研究报告-生成式AI爆发,医疗人工智能走到新的十字路口(附下载)

前言 2024的医疗AI&#xff0c;既是坎坷&#xff0c;又是新生。 快速发展的大语言模型&#xff0c;携着生成式AI掠过医疗领域。过往的互联网医疗、医学影像、新药研发……一个一个场景经由新一代AI重塑&#xff0c;焕发出前所未有的价值。 不过&#xff0c;发现价值并不意味着…

网络请求自定义header导致跨域问题

我记得我的项目之前已经解决了跨域问题。 后来在功能开发着&#xff0c;需要添加一个自定义的header&#xff0c;发现又出现跨域报错。 于是又开始一通摸索折腾。 我的项目前面端是用axios网络请求&#xff0c;通过拦截器添加header&#xff0c;代码如下&#xff1a; //添加请…

macOS 15 Sequoia dmg格式转用于虚拟机的iso格式教程

想要把dmg格式转成iso格式&#xff0c;然后能在虚拟机上用&#xff0c;最起码新版的macOS镜像是不能用UltraISO&#xff0c;dmg2iso这种软件了&#xff0c;你直接转放到VMware里绝对读不出来&#xff0c;办法就是&#xff0c;在Mac系统中转换为cdr&#xff0c;然后再转成iso&am…

大语言模型数据流程源码解读(基于llama3模型)

文章目录 前言一、数据进入LlamaForCausalLM(LlamaPreTrainedModel)类二、数据进入LlamaModel(LlamaPreTrainedModel)类1、input_ids的embedding编码2、position_ids位置获取3、causal_mask因果mask构建1、causal_mask调用2、因果mask代码解读(_update_causal_mask)4、hidden_s…