一文了解Tomcat

文章目录

      • 1、Tomcat介绍
      • 2、Tomcat使用配置
        • 2.1、Tomcat下载启动
        • 2.2、Tomcat启动乱码
        • 2.3、Tomcat端口号修改
      • 3、Tomcat项目部署
      • 4、IDEA中使用Tomcat方式

1、Tomcat介绍

什么是Tomcat

​ Tomcat是Apache软件基金会一个核心项目,是一个开源免费的轻量级web服务器,支持Servlet / jsp 少量JavaEE规范,Tomcat 也被称为 Web容器、Servlet容器。

官网:https://tomcat.apache.org/

image-20231216182326945

什么是JavaEE

​ JavaEE:Java Enterprise Edition,Java企业版。指Java企业级开发的技术规范总和。包含13项技术规范:JDBC、JNDI、EJB、RMI、JSP、Servlet、XML、JMS、Java IDL、JTS、JTA、JavaMail、JAF

2、Tomcat使用配置

2.1、Tomcat下载启动

Tomcat下载安装

  1. 下载:https://tomcat.apache.org/
  2. 安装:Tomcat是绿色版,直接解压就可以了,建议:不要有中文的目录,目录层次不要太深
  3. 打开apache-tomcat目录就能看到如下目录结构,每个目录中包含的内容需要认识下

Tomcat启动关闭

  • 启动:双击:bin\startup.bat

image-20231216184037664

  • 关闭
    1. 直接x掉运行窗口:强制关闭
    2. bin\shutdown.bat:正常关闭
    3. ctrl+c: 正常关闭

image-20231216184311455

Tomcat访问

​ 访问方式:浏览器输入localhost:8080,Tomcat默认端口是8080

image-20231216184524718

2.2、Tomcat启动乱码

问题

image-20231216185026002

控制台有中文乱码,需要修改conf/logging.prooperties

  1. 进入Tomcat的conf目录
  2. 找到logging.properties文件
  3. 将里面所有的UTF-8 替换成 GBK

image-20231216185712089

注意:建议使用Vscode打开或者其他工具,直接查找替换,避免发生错误

2.3、Tomcat端口号修改
  1. 进入Tomcat的conf目录下
  2. 找到 server.xml文件,打开
  3. 找到下列代码位置,大概在69行,修改port=你想要的位置
<Connector port="8080" protocol="HTTP/1.1"connectionTimeout="20000"redirectPort="8443" />

image-20231216204107779

  • 端口号冲突

image-20231216204046870

3、Tomcat项目部署

项目部署的两种方法

  1. 直接将项目复制到webapps目录下
  2. 采用压缩文件.war的方式
    • 将整个项目使用压缩工具打包成zip文件
    • 改zip的扩展名为war
    • 复制到webapps目录下,tomcat会自动解压成一个同名的目录

注意:里面的文件不能有中文名

部署演示:直接将项目复制到webapps目录下

  • 项目名为:hello,将其文件复制到webapps目录下

  • 启动Tomcat后,访问hello

image-20231216205645843

部署演示:采用压缩文件.war的方式

  1. 将项目压缩成zip文件
  2. 改zip的扩展名为war
  3. 复制到webapps目录下,tomcat会自动解压成一个同名的目录

image-20231216210212334

  • 访问测试

image-20231216210457038

4、IDEA中使用Tomcat方式

  • 通过Maven的package命令可以将项目打包成war包,将war文件拷贝到Tomcat的webapps目录下,启动Tomcat就可以将项目部署成功,然后通过浏览器进行访问即可。
  • 然而我们在开发的过程中,项目中的内容会经常发生变化,如果按照上面这种方式来部署测试,是非常不方便的
  • 如何在IDEA中能快速使用Tomcat呢?

将本地Tomcat集成到IDEA中

  • 打开添加本地Tomcat的面板

image-20231216213158756

  • 指定本地Tomcat

image-20231216213333077

  • 配置本地Tomcat

image-20231216213728385

将项目部署到集成Tomcat里面

image-20231216214050685

image-20231216214439435

扩展内容: xxx.war和 xxx.war exploded这两种部署项目模式的区别?

  • war模式是将WEB工程打成war包,把war包发布到Tomcat服务器上

  • war exploded模式是将WEB工程以当前文件夹的位置关系发布到Tomcat服务器上

  • war模式部署成功后,Tomcat的webapps目录下会有部署的项目内容

  • war exploded模式部署成功后,Tomcat的webapps目录下没有,而使用的是项目的target目录下的内容进行部署

  • 建议大家都选war模式进行部署,更符合项目部署的实际情况

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

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

相关文章

【算法Hot100系列】最长回文子串

&#x1f49d;&#x1f49d;&#x1f49d;欢迎来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…

【机器学习】应用KNN实现鸢尾花种类预测

目录 前言 一、K最近邻&#xff08;KNN&#xff09;介绍 二、鸢尾花数据集介绍 三、鸢尾花数据集可视化 四、鸢尾花数据分析 总结 &#x1f308;嗨&#xff01;我是Filotimo__&#x1f308;。很高兴与大家相识&#xff0c;希望我的博客能对你有所帮助。 &#x1f4a1;本文由Fil…

js基础入门

先来一点js基础&#xff0c;其实js大部分的时候都在处理对象或者数组。 对象四个基本操作&#xff1a;增删改查 掌握元素的增删改查&#xff0c;了解如何拷贝&#xff0c;深拷贝和浅拷贝的区别。详情见代码 <script>//创建对象一共有三种赋值声明的语法let obj{} //赋值…

大数据存储技术(3)—— HBase分布式数据库

目录 一、HBase简介 &#xff08;一&#xff09;概念 &#xff08;二&#xff09;特点 &#xff08;三&#xff09;HBase架构 二、HBase原理 &#xff08;一&#xff09;读流程 &#xff08;二&#xff09;写流程 &#xff08;三&#xff09;数据 flush 过程 &#xf…

Java stream 进阶版

1、Stream 概述 Java 8 引入了 Stream API,它是一种用于简化集合和数组操作的强大工具。Stream API 允许我们将集合或数组视为流,并在流上进行各种操作,如筛选、排序、聚合等。 Stream API 的核心概念是 Stream 流,它代表了一个数据流,其中包含了一系列的元素。这些元素…

【LeetCode刷题-排序】--179.最大数

179.最大数 思路&#xff1a; 方法&#xff1a;自定义排序 class Solution {public String largestNumber(int[] nums) {if(nums null || nums.length 0){return "";}//将每个数字转换成字符串String[] strs new String[nums.length];for(int i 0;i < nums.l…

怎样长时间保持SSH会话连接不断开?

操作场景 使用SSH方式登录CentOS Stream操作系统的云服务器时&#xff0c;过一段时间就会自动断开连接。 该文档适用于CentOS/EulerOS系统。 操作方法 编辑/etc/ssh/sshd_config文件设置心跳&#xff0c;保持连接。 编辑/etc/ssh/sshd_config&#xff0c;添加配置项&#x…

【C语言】——认识指针变量和地址,以及指针变量类型的意义

&#x1f3a5; 岁月失语唯石能言的个人主页 &#x1f525;个人栏专&#xff1a;秒懂C语言 ⭐若在许我少年时&#xff0c;一两黄金一两风 目录 前言 一、指针变量和地址 1.1 取地址操作符&#xff08;&&#xff09; 1.2 指针变量和解引用操作符&#xff…

scrapy post请求——百度翻译(十四)

scrapy处理 post 请求 爬取百度翻译界面 目录 1.创建项目及爬虫文件 2.发送post请求 1.创建项目及爬虫文件 scrapy startproject scrapy_104 scrapy genspider translate fanyi.baidu.com 2.发送请求 post请求需要传递参数&#xff0c;所以就不能用start_urls和parse函数了&…

飞天使-docker知识点6-容器dockerfile各项名词解释

文章目录 docker的小技巧dockerfile容器为什么会出现启动了不暂停查看docker 网桥相关信息 docker 数据卷 docker的小技巧 [rootlight-test playbook-vars[]# docker inspect -f "{{.NetworkSettings.IPAddress}}" d3a9ae03ae5f 172.17.0.4docker d3a9ae03ae5f:/etc…

QT----第三天,Visio stdio自定义封装控件,鼠标事件,定时器,事件分发器过滤器,绘图事件

目录 第三天1 自定义控件封装2 QT鼠标事件3 定时器4 event事件分发器5 事件过滤器6 绘图事件Qpainter 源码&#xff1a;CPP学习代码 第三天 1 自定义控件封装 新建一个QT widgetclass&#xff0c;同时生成ui,h,cpp文件 在smallWidget.ui里添加上你想要的控件并调试大小 回到…

《Linux C编程实战》笔记:一些系统调用

目录 dup和dup2函数 fcntl函数 示例程序1 示例程序2 ioctl函数 dup和dup2函数 #include <unistd.h> int dup(int oldfd); int dup2(int oldfd, int newfd): dup 函数复制 oldfd 参数所指向的文件描述符。 参数&#xff1a; oldfd&#xff1a;要复制的文件描述符的…

zookeeper4==zookeeper源码阅读,FOLLOWER收到了需要LEADER执行的命令后各节点会执行什么

上面已经阅读并观察了节点确定自己的身份后会做些什么&#xff0c;大致就是比对双方信息然后完成同步。 本篇阅读&#xff0c; FOLLOWER收到了需要LEADER执行的命令后&#xff0c;怎么同步给LEADER的&#xff0c;并且LEADER会执行什么操作。 源码启动zkCli用于测试 将原本的代…

技术阅读周刊第十期

技术阅读周刊&#xff0c;每周更新。 周四加了个班&#xff0c;周五没缓过来&#xff0c;就推迟到今天更新了 历史更新 20231117&#xff1a;第六期20231124&#xff1a;第七期20231201&#xff1a;第八期20231215&#xff1a;第九期 Golang: 14 Shorthand Tricks You Might No…

LLM中的Prompt提示

简介 在LLM中&#xff0c;prompt&#xff08;提示&#xff09;是一个预先设定的条件&#xff0c;它可以限制模型自由发散&#xff0c;而是围绕提示内容进行展开。输入中添加prompt&#xff0c;可以强制模型关注特定的信息&#xff0c;从而提高模型在特定任务上的表现。 结构 …

hive数据仓库工具

1、hive是一套操作数据仓库的应用工具&#xff0c;通过这个工具可实现mapreduce的功能 2、hive的语言是hql[hive query language] 3、官网hive.apache.org 下载hive软件包地址 Welcome! - The Apache Software Foundationhttps://archive.apache.org/ 4、hive在管理数据时分为元…

『踩坑记录』IDEA Spring initialzr新建Spring项目不能选择jdk8的解决方法

问题描述 Spring initializr新建Spring项目不能选低版本java 解决方法 默认官方start.spring.io已不支持自动生成低版本jkd的Spring项目&#xff0c;自定义用阿里云的starter即可 用阿里云的就能支持低版本jdk了 完 欢迎关注我的CSDN博客 &#xff1a;Ho1aAs 版权属于&a…

【C++】 C++11 新特性探索:decltype 和 auto

▒ 目录 ▒ &#x1f6eb; 问题描述环境 1️⃣ decltype推导变量类型推导函数返回类型 2️⃣ auto自动推导变量类型迭代器和范围循环 3️⃣ decltype 和 auto 同时使用&#x1f6ec; 结论&#x1f4d6; 参考资料 &#x1f6eb; 问题 描述 C11 引入了一些强大的新特性&#xff…

LVS负载均衡群集,熟悉LVS的工作模式,了解LVS的调度策略以及ipvsadm工具的命令格式

目录 一、什么是群集 群集的作用&#xff1a; 群集的目的是什么 根据群集所针对的目标差异&#xff0c;可分为三种类型 负载均衡群集&#xff08;LBC&#xff09;load balance cluster 高可用群集&#xff08;HAC&#xff09;high availability cluster 高性能运算群集&a…