Tomcat 服务器部署和 IDEA 配置 Tomcat

(一) Tomcat 简介

  • Tomcat是Apache软件基金会一个核心项目,是一个开源免费的轻量级Web服务器,支持Servlet/JSP少量JavaEE规范。

  • 概念中提到了JavaEE规范,那什么又是JavaEE规范呢?

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

  • 因为Tomcat支持Servlet/JSP规范,所以Tomcat也被称为Web容器、Servlet容器。Servlet需要依赖Tomcat才能运行。

  • Tomcat的官网: https://tomcat.apache.org/ 从官网上可以下载对应的版本进行使用。

(二) Tomcat 使用

[1]. 下载与安装 Tomcat

  1. 进入到官网,从右边选择自己要的版本进行下载,本文章使用的是 8.5.x 版本
  2. 将下载的安装包放到不带中文的路径下即可,Tomcat 就安装完成了,目录解释如下:

[2]. 启动 Tomcat

  1. 在 Tomcat 安装目录中bin目录下 有一个 startup.bat 文件,双击就启动了 Tomcat

  2. 在浏览器上 输入http://localhost:8080能看到Apache Tomcat的内容就说明Tomcat已经启动成功。

  3. 可以看到在打开的控制台中中文乱码

  4. 修改 conf/logging.prooperties 文件中的 java.util.logging.ConsoleHandler.encoding = UTF-8
    java.util.logging.ConsoleHandler.encoding = GBK

  5. 关闭 Tomcat ,重新启动

[3]. 关闭 Tomcat

关闭有三种方式

  1. 直接关掉运行窗口:强制关闭[不建议]
  2. 找到bin 目录下的 shutdown.bat 双即可正常关闭
  3. 在启动的窗口按 ctrl+c 即可正常关闭

[4]. 配置 Tomcat

  1. Tomcat默认的端口是8080,要想修改Tomcat启动的端口号,需要修改 conf/server.xml

  2. 如果设置的端口号被占用,启动的时候就会包如下的错误

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

[5]. 部署项目

  1. 将项目放置到webapps目录下,即部署完成。
  2. 通过 localhost:8080/项目目录/文件名 即可打开项目。注意:端口默认是 8080 如果自己改过要修改成自己的端口
  3. 一般JavaWeb项目会被打包称war包,然后将war包放到Webapps目录下,Tomcat会自动解压缩war文件

(四) IDEA 配置 Tomcat

xxx.war和 xxx.war exploded这两种部署项目模式的区别?

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

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

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

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

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

[1]. 集成本地 Tomcat

  1. 在 IDEA 右上角点击 Current File 的下拉三角,选择 Edit Configurations

  2. 找到 Tomcat Server 选择 Local 创建一个本地的 Tomcat

  3. 点击 Application server 后边的 Configure 按钮,将 Tomcat Home 设置为自己的 Tomecat 放置的路径,Tomcat 就集成到 IDEA 上了

  4. 将开发项目部署项目到Tomcat中:还是在上步的 Run/Debug Configurations 窗口中选择Deployment,然后选择 + ,点击 artifact, 选择 项目名:war,如果有多个,选择自己项目的。如果没有 artifact 选项,说明在创建 web项目时有问题,可以参考Maven 学习中的创建 web项目

  5. src/main/webapp 目录下创建 a.html 文件,内容随便,然后点击 IDEA 窗口的 绿色三角形,启动 Tomcat, 启动成功后,根据自己 Tomcat 中配置的路径,加上创建的文件名进行访问:

  6. 注意:可以看到默认的url 路径不太好看,如果修改 Tomcat 配置中的 URL 路径,要同步修改 Deployment 中的 Application context 内容,否则将找不到程序(http://localhost:8080 指向 Tomcat 服务器,demo2 指向项目资源)

[2]. Tomcat Maven 插件 (未成功)

  1. 打开根目录下的 pom.xml 然后按组合键 alt + insert 选择 Plugin Template
  2. 填入 tomcat 坐标,然后点击右上角刷新 Maven,等待下载完成
<build><plugins><plugin><groupId>org.apache.tomcat.maven</groupId><artifactId>tomcat7-maven-plugin</artifactId><version>2.2</version></plugin></plugins></build>
  1. 右键点击项目名称,选择 run maven

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

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

相关文章

opencv自定义间隔帧获取视频转存为图片

该代码只将mp4转为jpg 扩展 如果您只是想使用这段代码自定义间隔帧获取视频转存为图片的功能&#xff0c;在opencv自定义间隔帧获取视频转存为图片的GUI界面实现可以更方便您的使用。 背景 由于我要做一个深度学习方向的计算机视觉项目&#xff0c;需要一些数据集来进行训练…

哈工大sse C语言 困难

Q565.(10分数, 语言: C)程序中函数 fun()的功能: 将一个由八进制数字字符组成的字符串转换为与其值相等的十进制整数。规定输入的字符串最多只能包含5位八进制数字字符。 **输入格式要求&#xff1a;gets 提示信息&#xff1a;"输入一个八进制字符串&#xff08;5位&…

软件工程可行性分析报告

软件工程实验报告 实 验 目 的 学会分析现有系统&#xff1b;2.学会分析项目的可行性。 实 验 内 容 对小组项目进行需求收集&#xff1b;对项目进行组织机构、业务流程分析&#xff1b;对项目进行粗略设计&#xff1b;对项目进行技术、经济、操作等可行性分析。 实 验 步 …

集简云新增“文本语音转换”功能,实现智能语音交互

为丰富人工智能领域的应用集成&#xff0c;为用户提供更便捷和智能化的信息获取和视觉创作方式&#xff0c;本周集简云上线了内置应用—文本语音转换。目前支持OpenAI TTS和TTS HD模型&#xff0c;实现文本语音高效智能转换&#xff0c;也可根据你的产品或品牌创建独特的神经网…

RUST: let task = mut task.unwrap().clone();

首先&#xff0c;我们分析一下各个部分的作用&#xff1a; task: 这个变量之前已经存在于作用域内&#xff0c;其类型为 Option<T> 或 Result<T, E> 其中 T 是某个实现了 Clone 特性的类型&#xff08;在这里没有具体说明类型 T&#xff0c;但可以根据上下文推断出…

Go --- 编程知识点及其注意事项

new与make 二者都是用于内存分配&#xff0c;当声明的变量是引用类型时&#xff0c;不能给该变量赋值&#xff0c;因为没有分配空间。 我们可以用new和make对其进行内存分配。 首先说说new new函数定义 func new(Type) *Type传入一个类型&#xff0c;返回一个指向分配好该…

【前端】CommonJS和ES Module

区别 语法差异&#xff1a; CommonJS&#xff1a;使用 require() 导入模块&#xff0c;使用 module.exports 或 exports 导出模块。 ES Module&#xff1a;使用 import 导入模块&#xff0c;使用 export 导出模块。 编译时 vs 运行时&#xff1a; CommonJS 是在运行时加载模块…

Python中的函数参数传递方式是怎样的?

Python中的函数参数传递方式是怎样的&#xff1f; 在Python中&#xff0c;函数参数传递是函数调用的重要部分&#xff0c;它决定了如何将数据从调用者传递到函数中。Python的参数传递方式主要可以分为两类&#xff1a;位置参数&#xff08;Positional Arguments&#xff09;和…

前端需要掌握的 mysql 基础知识

常用的 mysql 的操作方法 1. 新增 这里新增phone,username,password三个参数&#xff0c;后面的?就是写几个&#xff0c; 对应的[phone, username, password]要和前面的顺序一致。 const sql2 INSERT INTO user(phone,username,password) VALUES(?,?,?); const data2 aw…

从原理到实践:深入探索Linux安全机制(一)

前言 本文将从用户和权限管理、文件系统权限、SELinux、防火墙、加密和安全传输、漏洞管理和更新等几个Linux安全机制中的重要方面&#xff0c;深入探索其工作原理和使用方法。在当今数字化时代&#xff0c;网络安全问题备受关注&#xff0c;Linux作为广泛应用的操作系统之一&…

每日一题 --- 977. 有序数组的平方[力扣][Go]

今天这一题和昨天的知识点是一样的&#xff0c;就是双指针法。 题目&#xff1a; 给你一个按 非递减顺序 排序的整数数组 nums&#xff0c;返回 每个数字的平方 组成的新数组&#xff0c;要求也按 非递减顺序 排序。 示例 1&#xff1a; 输入&#xff1a;nums [-4,-1,0,3,1…

对话悠易科技蔡芳:品牌逐渐回归核心能力建设,布局和构建自己的流量阵地

关于SaaS模式在中国的发展&#xff0c;网上出现多种声音。Marteker近期采访了一些行业专家&#xff0c;围绕SaaS模式以及Martech在中国的发展提出独特观点。悠易科技副总裁蔡芳认为&#xff0c;中国目前存在SaaS的应用场景与客户需求&#xff0c;用户的应用能力也在提升&#x…

Ollama 在本地快速启动并执行LLM【大语言模型】

文章目录 1. 什么是Ollama?1.1. SDK库1.2. 提供的api服务1.3. [支持的LLM](https://ollama.com/library)2. 如何安装2.1.下载docker镜像2.2. 启动docker容器3. 如何使用?3.1. 如何加载模型3.2. 使用 Ollama CLI 进行推理3.3. 使用 Ollama API 进行推理参考1. 什么是Ollama?

containerd源代码分析: 整体架构

本文从代码的大的整体组织上来熟悉containerd项目 containerd项目总的说是一个cs模式的原生控制台程序组。containerd作为服务端来接收处理client的各种请求&#xff0c;如常用的拉取推送镜像&#xff0c;创建查询停止容器&#xff0c;生成快照&#xff0c;发送消息等。client/…

蓝桥杯:数的分解

题目 把 2019 分解成 3 个各不相同的正整数之和&#xff0c;并且要求每个正整数都不包含数字 2 和 4&#xff0c; 一共有多少种不同的分解方法? 注意交换 3 个整数的顺序被视为同一种方法&#xff0c;例如 1000100118 和 1001100018 被视为同一种。 思路 循环遍历看每个数的…

XS2105S,IEEE 802.3af 兼容、用电设备接口控制器集成功率 MOSFET V0.5

XS2105S 为用电设备(PD)提供符合以太网供电(PoE)系统 IEEE802.3af 标准的完整接口。XS2105S 为 PD 提供检测信号、分级信号以及带有浪涌电流控制的 集成隔离功率开关。发生浪涌期间&#xff0c;XS2105S 将电流限 制在 180mA 以内&#xff0c;直到隔离功率 MOSFET 完全开启后切 …

【Linux命令】查看内存占用情况(mem, swap)

1. 方法1&#xff08;top&#xff09; # top2.方法2&#xff08;free&#xff09; # free -h3. 方法3&#xff08;swapon&#xff09; # swapon -s

GraalVM详细安装及打包springboot、java、javafx使用教程(打包springboot3篇)

前言 在当前多元化开发环境下&#xff0c;Java作为一种广泛应用的编程语言&#xff0c;其应用部署效率与灵活性的重要性日益凸显。Spring Boot框架以其简洁的配置和强大的功能深受开发者喜爱&#xff0c;而JavaFX则为开发者提供了构建丰富桌面客户端应用的能力。然而&#xff…

物联网如何改善供应链的透明度和效率

物联网&#xff08;IoT&#xff09;技术通过将物理对象连接到互联网&#xff0c;使得它们能够收集和交换数据&#xff0c;从而为供应链管理带来了革命性的变化。物联网改善供应链透明度和效率的几个关键方式包括&#xff1a; 实时追踪和监控&#xff1a;物联网设备可以实时追踪…