一文了解Tomcat

文章目录

1、Tomcat介绍

什么是Tomcat

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

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

什么是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
  • 关闭
    1. 直接x掉运行窗口:强制关闭
    2. bin\shutdown.bat:正常关闭
    3. ctrl+c: 正常关闭

Tomcat访问

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

2.2、Tomcat启动乱码

问题

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

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

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

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

3、Tomcat项目部署

项目部署的两种方法

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

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

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

  • 项目名为:hello,将其文件复制到webapps目录下
  • 启动Tomcat后,访问hello

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

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

4、IDEA中使用Tomcat方式

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

将本地Tomcat集成到IDEA中

  • 打开添加本地Tomcat的面板
  • 指定本地Tomcat
  • 配置本地Tomcat

将项目部署到集成Tomcat里面

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

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

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

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

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

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

相关推荐
儿时可乖了3 分钟前
使用 Java 操作 SQLite 数据库
java·数据库·sqlite
ruleslol5 分钟前
java基础概念37:正则表达式2-爬虫
java
xmh-sxh-131421 分钟前
jdk各个版本介绍
java
天天扭码41 分钟前
五天SpringCloud计划——DAY2之单体架构和微服务架构的选择和转换原则
java·spring cloud·微服务·架构
程序猿进阶41 分钟前
堆外内存泄露排查经历
java·jvm·后端·面试·性能优化·oom·内存泄露
FIN技术铺1 小时前
Spring Boot框架Starter组件整理
java·spring boot·后端
小曲程序1 小时前
vue3 封装request请求
java·前端·typescript·vue
陈王卜1 小时前
django+boostrap实现发布博客权限控制
java·前端·django
小码的头发丝、1 小时前
Spring Boot 注解
java·spring boot
java亮小白19971 小时前
Spring循环依赖如何解决的?
java·后端·spring