Tomcat 下载安装教程_tomcat官网下载安装教程-程序员宅基地

技术标签: java  tomcat  后端  intellij-idea  

文章目录

参考资料

视频

使用Tomcat的前提是你已经熟练Java,并且电脑已经安装了相应的JDK。

1. 下载

直接从官网下载对应版本
在这里插入图片描述

例如这边下载的是Tomcat8的windows版本:
在这里插入图片描述

2. 安装

Tomcat是绿色版,直接解压即可

  • 例如在D盘的software目录下,将apache-tomcat-8.5.68-windows-x64.zip进行解压缩,会得到一个apache-tomcat-8.5.68的目录,Tomcat就已经安装成功。

    注意,Tomcat在解压缩的时候,解压所在的目录可以任意,但最好解压到一个不包含中文和空格的目录,因为后期在部署项目的时候,如果路径有中文或者空格可能会导致程序部署失败。

  • 打开apache-tomcat-8.5.68目录就能看到如下目录结构,每个目录中包含的内容需要认识下:
    在这里插入图片描述

bin:目录下有两类文件,一种是以.bat结尾的,是Windows系统的可执行文件,一种是以.sh结尾的,是Linux系统的可执行文件。

webapps:就是以后项目部署的目录

到此,Tomcat的安装就已经完成。

3. 卸载

卸载比较简单,可以直接删除目录即可

4 启动

双击: binstartup.bat
启动后,通过浏览器访问 http://localhost:8080能看到Apache Tomcat的内容就说明Tomcat已经启动成功。
在这里插入图片描述

注意: 启动的过程中,控制台有中文乱码,需要修改conf/logging.prooperties
在这里插入图片描述

5. 关闭

关闭有三种方式

  • 直接x掉运行窗口:强制关闭[不建议]
  • 点击binshutdown.bat:正常关闭
  • 控制台ctrl+c: 正常关闭

6. 配置

修改端口

  • Tomcat默认的端口是8080,要想修改Tomcat启动的端口号,需要修改 conf/server.xml
    在这里插入图片描述

注: HTTP协议默认端口号为80,如果将Tomcat端口号改为80,则将来访问Tomcat时,将不用输入端口号。

启动时可能出现的错误

  • Tomcat的端口号取值范围是0-65535之间任意未被占用的端口,如果设置的端口号被占用,启动的时候就会包如下的错误:
    在这里插入图片描述

  • Tomcat启动的时候,启动窗口一闪而过: 需要检查JAVA_HOME环境变量是否正确配置

7. 部署

Tomcat部署项目: 将项目放置到webapps目录下,即部署完成。

一般JavaWeb项目会被打包称war包,然后将war包放到Webapps目录下,Tomcat会自动解压缩war文件

8. IDEA使用Tomcat

  • 我们在开发的过程中,项目中的内容会经常发生变化,如果按照上面这种方式来部署测试,是非常不方便的
  • 如何在IDEA中能快速使用Tomcat呢

在IDEA中集成使用Tomcat有两种方式,分别是集成本地Tomcat和Tomcat Maven插件

8.1 集成本地Tomcat

目标: 将刚才本地安装好的Tomcat集成到IDEA中,完成项目部署,具体的实现步骤

  1. 打开添加本地Tomcat的面板
    在这里插入图片描述
    在这里插入图片描述
    点击Tomcat Serverlocal

  2. 指定本地Tomcat的具体路径
    在这里插入图片描述

  3. 修改Tomcat的名称,此步骤可以不改,只是让名字看起来更有意义,HTTP port中的端口也可以进行修改,比如把8080改成80
    在这里插入图片描述

  4. 将开发项目部署项目到Tomcat中,如下图所示,选择自己的开发项目后点击apply即可。
    在这里插入图片描述

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

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

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

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

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

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

  1. 部署成功后,就可以启动项目,为了能更好的看到启动的效果,可以在webapp目录下添加a.html页面,然后点击启动
    在这里插入图片描述

  2. 启动成功后,可以通过浏览器进行访问测试
    在这里插入图片描述

  3. 最终的注意事项
    在这里插入图片描述

8.2 Tomcat Maven插件

在IDEA中使用本地Tomcat进行项目部署,相对来说步骤比较繁琐,所以我们需要一种更简便的方式来替换它,那就是直接使用Maven中的Tomcat插件来部署项目,具体的实现步骤,只需要两步,分别是:

  1. 在pom.xml中添加Tomcat插件(可以使用快捷键alt+insert快速添加插件)

    <build>
        <plugins>
        	<!--Tomcat插件 -->
            <plugin>
                <groupId>org.apache.tomcat.maven</groupId>
                <artifactId>tomcat7-maven-plugin</artifactId>
                <version>2.2</version>
            </plugin>
        </plugins>
    </build>
    

    添加完成后刷新maven项目即可进行插件的下载。

  2. 使用Maven Helper插件快速启动项目,选中项目,右键-->Run Maven --> tomcat7:run

    注意:

    • 如果选中项目并右键点击后,看不到Run Maven和Debug Maven,这个时候就需要在IDEA中下载Maven Helper插件,具体的操作方式为: File --> Settings --> Plugins --> Maven Helper —> Install,安装完后按照提示重启IDEA,就可以看到了。

    • Maven Tomcat插件目前只有Tomcat7版本,没有更高的版本可以使用

    • 使用Maven Tomcat插件,要想修改Tomcat的端口和访问路径,可以直接修改pom.xml

      org.apache.tomcat.maven tomcat7-maven-plugin 2.2 80 /
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/m0_67265654/article/details/123524483

智能推荐

踩坑记录---线程池拒绝策略引起的一系列巧合_org.springframework.amqp.amqpresourcenotavailablee-程序员宅基地

文章浏览阅读629次。一、业务场景1、定时任务从数据库搜索一批需要处理的数据,大概在140w左右2、140w数据使用循环处理3、循环中,将数据处理任务提交到线程池(坑一),并在任务中,把处理结果推送到mq4、定时任务结束二、异常现象在执行循环到过程中,突然循环中断,任务处理失败,循环提前结束三、代码贴图主线程简化版代码如下// 获取全部需要处理的任务数据 List<T> needHandlerList = getNeedHandlerList(shardingContext); _org.springframework.amqp.amqpresourcenotavailableexception: the channelmax l

Html5 注释_h5注释-程序员宅基地

文章浏览阅读1.8k次,点赞2次,收藏4次。定义注释标签用于在源文档中插入注释。注释会被浏览器忽略。可使用注释对您的代码进行解释,这样做有助于自己和别人在以后对代码的编辑和理解。用法 <!-- 注释内容 --><html> <body> <!-- this is the comment , do not show in the browser,but can be view in the source code --> 只显示内容,没有头部信息。 <!-- 注释,不在浏览_h5注释

【数据结构与算法基础】二叉搜索树和平衡二叉树_二叉搜索树一定是二叉平衡树吗-程序员宅基地

文章浏览阅读918次。写在前面今天学习在排序和查找中都很有用的特殊二叉树,平衡二叉树和搜索二叉树。相关代码实现已上传至Github:data_structure/Tree/1.二叉搜索树(Binary Search Tree)二叉搜索时是一种对排序和查找都很有用的特殊二叉树。其或者是一棵空树;或者是具有以下性质的二叉树:若左子树不空,则左子树上所有结点的值均小于或等于它的根结点的值 若右子树不空,..._二叉搜索树一定是二叉平衡树吗

python中123+5.0的执行结果_wtfpython-cn/README.md at master · witglory/wtfpython-cn · GitHub-程序员宅基地

文章浏览阅读451次。What the f*ck Python! ????一些有趣且鲜为人知的 Python 特性. Python, 是一个设计优美的解释型高级语言, 它提供了很多能让程序员感到舒适的功能特性. 但有的时候, Python 的一些输出结果对于初学者来说似乎并不是那么一目了然.这个有趣的项目意在收集 Python 中那些难以理解和反人类直觉的例子以及鲜为人知的功能特性, 并尝试讨论这些现象背后真正的原理!虽然..._python中123+5.0的执行结果

C# 文本编码转换-程序员宅基地

文章浏览阅读3.2k次。1. C#的编码转换默认由System.Text.Encoding进行操控转换.引用为: using System.Text;2. C# Encoding类自带编码有:UTF7/UTF8/UTF32/Unicode/ASCII,Encoding类有一个子类就是Default,此类会随操作环境变化而变化,在Windows平台上编码为"GB18030" (GBK为此编码子...

linux下的source命令及~/.bashrc, ~/.bash_profile详解_source ~/.bashrc-程序员宅基地

文章浏览阅读1.1w次,点赞8次,收藏62次。刚登录Linux时,首先启动 /etc/profile 文件,然后再启动用户目录下的 ~/.bash_profile、 ~/.bash_login或 ~/.profile文件中的其中一个,source命令通常用于重新执行刚修改的初始化文件,使之立即生效,而不必注销并重新登录。_source ~/.bashrc

随便推点

浅谈Canvas与SVG_canvas svg 缩放 性能-程序员宅基地

文章浏览阅读3.5k次,点赞2次,收藏5次。1、SVGSVG 可缩放矢量图形(Scalable Vector Graphics),是一种使用可扩展标记语言(XML)描述2D图形的语言。SVG严格遵从XML语法,并用文本格式的描述性语言来描述图像内容,因此是一种和图像分辨率无关的矢量图形格式。SVG基于XML,意味着SVG DOM中的每个元素都是可用的,可以为某个元素附加 JavaScript 事件处理器。在SVG中,每个被绘制的_canvas svg 缩放 性能

编写程序接收一个ASCII码(从0至128),然后显示输入ASCII码所代表的字符。 注意: (1)能够对1个或多个输入的ASCII码进行处理; (2)对于输入的非ASCII码进行判定和排除。_显示ascii码程序-程序员宅基地

文章浏览阅读6.3k次。import java.util.*;public class Demo3 { /** * @param args */ /* * 编写程序接收一个ASCII码(从0至128),然后显示输入ASCII码所代表的字符。注意:(1)能够对1个或多个输入的ASCII码进行处理;(2)对于输入的非ASCII码进行判定和排除。_显示ascii码程序

windows系统批量启动应用bat脚本_批量运行bat-程序员宅基地

文章浏览阅读3.9k次,点赞7次,收藏18次。每次电脑自动重启之后,就要从新打开各种软件。所以就想自己写一个bat脚本,批量启动自己想启动的各个应用服务。@echo off::启动 webstorm64echo start webstorm64call start /d "D:\Program Files\JetBrains\WebStorm 2020.2.1\bin" webstorm64.exe::暂停几秒再执行后面的 命令ping -n 5 127.1 >nul 2>nulecho webstorm6..._批量运行bat

德卡斯特(deCasteljau)递推公式绘制Bezier曲线_decasteljau递推算法代码-程序员宅基地

文章浏览阅读1.3k次。德卡斯特(deCasteljau)递推公式绘制Bezier曲线德卡斯特递推算法比使用定义算法绘图简单了很多,已经成为绘制Bezier曲线的标准算法;参考上一篇文章添加下面代码: CP2 PP[4][4];//德卡斯特递推数组 void deCasteljau(double t);//德卡斯特递推计算 void DrawdeCasteljauBezier(CDC*pDC);//绘制德卡斯特曲线void CdrawBezierCurveView::deCasteljau(double t){_decasteljau递推算法代码

关于远程桌面登陆提示“连接被拒绝,因为没有授权此用户账号进行远程登录”_域用户 连接被拒绝,因为没有授权此用户账户进行远程登陆-程序员宅基地

文章浏览阅读1.2w次。分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow也欢迎大家转载本篇文章。分享知识,造福人民,实现我们中华民族伟大复兴!&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 继续跟着教材做实验。在_域用户 连接被拒绝,因为没有授权此用户账户进行远程登陆

Android源码分析之拍照、图片、录音、视频和音频功能_安卓实现 相机功能 录音拍照视频-程序员宅基地

文章浏览阅读624次。From:Android源码分析之拍照、图片、录音、视频和音频功能 //选择图片 requestCode 返回的标识Intent innerIntent = new Intent(Intent.ACTION_GET_CONTENT); //"android.intent.action.GET_CONTENT"innerIntent.setType(con_安卓实现 相机功能 录音拍照视频

推荐文章

热门文章

相关标签