一文了解Tomcat

简介: Tomcat是一个开放源代码的Java Servlet容器,它实现了Java Servlet和JavaServer Pages(JSP)规范。由于Tomcat是一个Java应用程序,它可以在多个操作系统上运行,如Windows、Linux和Mac OS等。Tomcat的主要作用是提供一个运行Java Web应用程序的环境。它可以处理从客户端发送的HTTP请求,并将请求传递给相应的Java Servlet或JSP进行处理。Servlet和JSP是用Java编写的服务器端组件,用于生成动态的Web内容。

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模式进行部署,更符合项目部署的实际情况
相关文章
|
传感器 小程序
微信小程序新版隐私协议弹窗实现最新版
微信小程序新版隐私协议弹窗实现最新版
4186 1
|
搜索推荐 Java 应用服务中间件
【Maven】IDEA部署配置Maven项目教程,IDEA配置Tomcat(2019.3.3)(2023.1.3)
当涉及到软件开发和项目管理时,使用一个可靠的构建工具是非常重要的。Maven是一个广泛使用的构建工具,它为Java项目提供了一种简化的构建过程和依赖管理。 在本文中,我们将探讨如何部署Maven并开始使用它来构建您的项目。我们将介绍所需的步骤,并向您提供一些有用的提示和建议。
【Maven】IDEA部署配置Maven项目教程,IDEA配置Tomcat(2019.3.3)(2023.1.3)
|
iOS开发 MacOS
苹果电脑 Mac OS X 系统上防止误按 command+Q 退出软件
在Mac系统操作中,Command + W 关闭一个窗口,Command + Q 退出整个程序,这用起来很方便快捷。然而,由于Q和W、A紧紧挨着已经有N次想关窗口的时候,或者想全选的时候,按成了Command Q,简直疯了有没有?…… 为了避免这种悲剧的发生,查找收集了几个方法: 1、针对Chrome 可以勾选退出前提示: 2、小工具 QBlocker QBlocker 是一款能够帮你暂时禁止使用 command + Q 的小工具。
12336 1
|
移动开发 Java 应用服务中间件
tomcat第1章 tomcat介绍、安装、部署项目
tomcat第1章 tomcat介绍、安装、部署项目
771 0
|
7月前
|
安全 Java 数据库连接
【反射】Java反射 全方位知识体系(附 应用场景 + 《八股文常考面试题》)
Java反射是运行时动态获取类元信息(构造器、方法、字段等)并操作对象的能力,核心为 Class对象。广泛应用于Spring、MyBatis等框架的IoC、AOP、ORM映射,以及注解处理、动态代理、SPI扩展等场景,兼具灵活性与解耦优势,但存在性能开销和安全风险。
721 10
|
人工智能 自然语言处理 监控
无需编程,我用 AI 模型结合 RPA 自动化,用 2 天时间手搓小红书营销产品
这是一篇关于如何用ai 和无代码方式,为运营提供一套“小红书爆款生产流水线”的工具,系统可自动采集对标博主笔记、分析热点数据并生成选题草稿,用户仅需补充细节即可完成高质量内容创作。流程涵盖关键词采集、对标博主监控、高价值笔记筛选、AI文案与图片创作及多账号矩阵发布。相比传统方式,该方法大幅提升效率,1小时可完成10篇内容创作,助力创作者在竞争中脱颖而出。文中还详细解析了关键词采集、对标博主分析、自动化排版等关键步骤,适合希望提升内容生产效率的运营者参考。
|
网络协议 Java 应用服务中间件
什么是tomcat?tomcat是干什么用的?
什么是tomcat?tomcat是干什么用的?
|
云安全 安全 物联网
惊叹:《黑神话:悟空》所在 Steam 发行平台遭网络狂袭,威胁流量猛增两万倍!
8月24日,热门游戏《黑神话:悟空》的玩家发现主要发行平台Steam无法登录,引发“#Steam崩了#”登上微博热搜。起初猜测是在线人数过多导致,但完美世界竞技平台公告表示系遭受DDoS攻击。奇安信Xlab实验室详细解析了此次攻击,发现攻击指令暴增两万多倍,涉及多个僵尸网络。此次攻击对Steam造成严重影响,但也凸显了网络安全的重要性。为保障游戏环境安全,需加强服务器防护并选择可靠的防御公司。德迅云安全提供高防服务器、DDoS高防IP和安全加速SCDN等服务,助力游戏企业提升安全性。