一文了解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模式进行部署,更符合项目部署的实际情况

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

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

相关文章

【DataSophon】大数据管理平台DataSophon-1.2.1安装部署详细流程

&#x1f984; 个人主页——&#x1f390;开着拖拉机回家_Linux,大数据运维-CSDN博客 &#x1f390;✨&#x1f341; &#x1fa81;&#x1f341;&#x1fa81;&#x1f341;&#x1fa81;&#x1f341;&#x1fa81;&#x1f341; &#x1fa81;&#x1f341;&#x1fa81;&am…

python绘制gif动图--避免收费拒绝水印

在cp源码解读-CSDN博客文章浏览阅读341次,点赞4次,收藏6次。coreutils:cp源代码分析https://blog.csdn.net/zhaiminlove/article/details/135026160中为了直观的表达文件是如何一步步的copy的,就想到了做一个gif,但是从来没弄过,一下有点麻爪了。 首先想到的是百度、Goog…

【算法刷题】Day18

文章目录 1. x 的平方根题干&#xff1a;算法原理&#xff1a;代码&#xff1a; 2. 搜索插入位置题干&#xff1a;算法原理&#xff1a;代码&#xff1a; 3. 珠宝的最高价值题干&#xff1a;算法原理&#xff1a;1. 状态表示2. 状态转移方程3. 初始化4. 填表顺序5. 返回值 代码…

LLM中的Prompt提示

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

C语言训练:三个字符串比较大小,实现两个整数数的交换统计二进制中1的个数

目录 一、编写程序&#xff0c;输入三个字符串&#xff0c;比较它们的大小&#xff0c;并将它们按由小到大的顺序输出。要求用函数、指针实现。要求:要采用函数调用&#xff0c;并用指向函数的指针作为函数的参数。 1.不使用函数指针作为参数&#xff0c;并自己模拟strcmp。 …

首字母转大写在线工具

具体请前往&#xff1a;在线首字母转大写

【教3妹学编程-算法题】统计区间中的整数数目

插&#xff1a; 前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到网站。 坚持不懈&#xff0c;越努力越幸运&#xff0c;大家一起学习鸭~~~ 2哥 : 3妹早啊&#xff0c;大周末的起这么早&#xff…

【MyBatis-Plus】MyBatis进阶使用

目录 一、MyBatis-Plus简介 1.1 介绍 1.2 优点 1.3 结构 二、MyBatis-Plus基本使用 2.1 配置 2.2 代码生成 2.3 CRUD接口测试 三、MyBatis-Plus策略详解 3.1 主键生成策略 3.2 雪花ID生成器 3.3 字段自动填充策略 3.4 逻辑删除 四、MyBatis-Plus插件使用 4.1 乐…

软件设计师——信息安全(一)

&#x1f4d1;前言 本文主要是【信息安全】——软件设计师——信息安全的文章&#xff0c;如果有什么需要改进的地方还请大佬指出⛺️ &#x1f3ac;作者简介&#xff1a;大家好&#xff0c;我是听风与他&#x1f947; ☁️博客首页&#xff1a;CSDN主页听风与他 &#x1f304…

JSON Ajax

1. JSON概念 JSON&#xff0c;全称JavaScript Object Notation&#xff0c;即JavaScript对象表示法&#xff0c;是一种轻量级的数据交换格式。它基于JavaScript的子集&#xff0c;易于人阅读和编写&#xff0c;同时也易于机器解析和生成。 JSON的诞生&#xff0c;是为了解决电…

【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…

[ 8 种有效方法] 如何在没有备份的情况下恢复 Android 上永久删除的照片?

我们生命中最重要的时刻&#xff0c;但这样做有缺点&#xff0c;其中之一就是数据丢失的风险。您可能倾向于定期删除无意义的照片&#xff0c;同时保存可爱的照片&#xff0c;从而使您的 Android 设备井井有条。然而&#xff0c;有些人在删除自己珍视的图像时不小心犯了错误。您…

c语言链表的基本操作

在C语言中&#xff0c;链表是一种常见的数据结构&#xff0c;它由一系列节点组成&#xff0c;每个节点包含一个数据元素和一个指向下一个节点的指针。链表的基本操作包括创建、插入、删除和遍历等。 下面是一个简单的链表节点结构体定义&#xff1a; struct Node { int da…

开源 LLM 微调训练指南:如何打造属于自己的 LLM 模型

一、介绍 今天我们来聊一聊关于LLM的微调训练&#xff0c;LLM应该算是目前当之无愧的最有影响力的AI技术。尽管它只是一个语言模型&#xff0c;但它具备理解和生成人类语言的能力&#xff0c;非常厉害&#xff01;它可以革新各个行业&#xff0c;包括自然语言处理、机器翻译、…

算法训练第三十九天|62. 不同路径、63. 不同路径 II

62. 不同路径&#xff1a; 题目链接 一个机器人位于一个 m x n 网格的左上角 &#xff08;起始点在下图中标记为 “Start” &#xff09;。 机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角&#xff08;在下图中标记为 “Finish” &#xff09;。 问总共有…

边缘分布函数

以二维随机变量说明。 二维随机变量的分布函数为&#xff0c;随机变量的分布函数为&#xff0c;随机变量的分布函数为。 称为二维随机变量关于的边缘分布函数。 称为二维随机变量关于的边缘分布函数。

Python基础05-函数

零、文章目录 Python基础05-函数 1、函数的作用及其使用步骤 &#xff08;1&#xff09;函数的作用 在Python实际开发中&#xff0c;我们使用函数的目的只有一个“让我们的代码可以被重复使用” 函数的作用有两个&#xff1a; ① 代码重用&#xff08;代码重复使用&#xf…

部署LVS的NET模式

实验准备 #负载调度器# 192.168.116.40 #内网 12.0.0.100 #外网 先添加双网卡 #web服务器# 192.168.116.20 #web1 192.168.116.30 #web2 #nfs共享服务# 192.168.116.10 #nfs systemctl stop firewalld setenforce 0 1.nfs共享文件 1…

完美解决:ftp连接遇到 ftp: connect: 拒绝连接 或者 ftp: connect: 没有到主机的路由

目录 问题&#xff1a; 问题一&#xff1a;ftp: connect: 拒绝连接 问题二&#xff1a;ftp: connect: 没有到主机的路由 解决方法&#xff1a; 问题&#xff1a; 问题一&#xff1a;ftp: connect: 拒绝连接 问题二&#xff1a;ftp: connect: 没有到主机的路由 解决方法&#…

Post Json数据与Form表单数据转换器

具体请访问&#xff1a;在线Json转Form表单参数工具