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

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

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

相关文章

【Java初阶(二)】分支与循环

❣博主主页: 33的博客❣ ▶文章专栏分类: Java从入门到精通◀ &#x1f69a;我的代码仓库: 33的代码仓库&#x1f69a; 目录 1.前言2.顺序结构3.分支循环3.1if语句3.2switch语句 4.循环结构4.1while循环4.2 break和continue4.3 for循环4.4 do while循环 5.输入输出5.1输出5.2输…

三级数据库技术知识点(详解!!!)

1、从功能角度数据库应用系统可以划分为表示层、业务逻辑层、数据访问层、数据持久层四个层次&#xff0c;其中负责向表示层直接传送数据的是业务逻辑层。 【解析】表示层负责所有与用户交互的功能;业务逻辑层负责根据业务逻辑需要将表示层获取的数据进行组织后&#xff0c;传…

提升Midjourney风格化的三个技巧

1. 引言 在前篇博文中&#xff0c;我们详细讲述了Midjourney的新功能风格参考的一些基础使用方法&#xff0c;事实上我们可以通过控制参数和提示权重进行更多的自定义操作&#xff0c;在本文中&#xff0c;我将向大家介绍我在网上搜集到的一些提升风格化效果的三个技巧。 闲话…

阿里云服务器租用一年多少钱?2024年最新阿里云租用价格

2024年阿里云服务器租用费用&#xff0c;云服务器ECS经济型e实例2核2G、3M固定带宽99元一年&#xff0c;轻量应用服务器2核2G3M带宽轻量服务器一年61元&#xff0c;ECS u1服务器2核4G5M固定带宽199元一年&#xff0c;2核4G4M带宽轻量服务器一年165元12个月&#xff0c;2核4G服务…

NC 现金流量查询 节点 多账簿联查时,根据所选择的列来判断明细和现金流量联查按钮是否可用,根据添加列选择监听事件处理。

NC 现金流量查询 节点 多账簿联查时&#xff0c;根据所选择的列来判断明细和现金流量联查按钮是否可用&#xff0c;如下图的情况&#xff1a; 在现金流量查询界面UI类的initTable(QueryConditionVO conVO)方法中添加列选择监听事件即可&#xff0c;如下&#xff1a; // 列监听…

【Android】【Bluetooth Stack】蓝牙电话协议之拨打电话分析(超详细)

1. 精讲蓝牙协议栈&#xff08;Bluetooth Stack&#xff09;&#xff1a;SPP/A2DP/AVRCP/HFP/PBAP/IAP2/HID/MAP/OPP/PAN/GATTC/GATTS/HOGP等协议理论 2. 欢迎大家关注和订阅&#xff0c;【蓝牙协议栈】和【Android Bluetooth Stack】专栏会持续更新中.....敬请期待&#xff01…

【Spring框架】单元测试:JUnit

个人名片&#xff1a; &#x1f43c;作者简介&#xff1a;一名大三在校生&#xff0c;喜欢AI编程&#x1f38b; &#x1f43b;‍❄️个人主页&#x1f947;&#xff1a;落798. &#x1f43c;个人WeChat&#xff1a;hmmwx53 &#x1f54a;️系列专栏&#xff1a;&#x1f5bc;️…

Filter介绍使用案例

文章目录 一、Filter概念二、Filter快速入门定义类&#xff0c;实现Filter接口&#xff0c;并重写其所有方法 三、Filter执行流程四、Filter使用细节1、Filter拦截路径配置2、过滤器链 五、案例 一、Filter概念 二、Filter快速入门 定义类&#xff0c;实现Filter接口&#xff0…

cc-inputSelView:使用uni-app和原生input组件实现用户位置选择功能

摘要&#xff1a; 在前端开发中&#xff0c;为用户提供选择位置的功能是一个常见的需求。本文将介绍如何使用uni-app和原生input组件实现用户位置选择功能&#xff0c;包括地图定位和页面跳转选择数据两种方式。通过这种方式&#xff0c;开发者可以轻松地为用户提供便利的位置选…

基于Java-SpringBoot+vue实现的前后端分离信息管理系统设计和实现

基于Java-SpringBootvue实现的前后端分离信息管理系统设计和实现 博主介绍&#xff1a;多年java开发经验&#xff0c;专注Java开发、定制、远程、文档编写指导等,csdn特邀作者、专注于Java技术领域 作者主页 央顺技术团队 Java毕设项目精品实战案例《1000套》 欢迎点赞 收藏 ⭐…

停车场引导和道闸系统工程

在当今快速发展的都市环境中&#xff0c;停车场不再是简单的泊车空间&#xff0c;而是需要智能化、高效化的管理来满足日益增长的车辆需求。现代电子信息技术的融入使得停车场引导和道闸系统工程成为可能&#xff0c;为城市交通带来革命性的变化。本文将概述这一系统的主要组成…

为什么光模块会发生故障?

当SFP光模块发生故障时&#xff0c;技术人员需要立即找出原因并进行修复&#xff0c;否则&#xff0c;1G链路可能会中断。本指南将为初次接触光模块领域的企业提供一些SFP光模块修复解决方案的支持。 SFP光模块故障的主要原因 SFP光模块故障通常发生在发送端和接收端。最常见…

C++之constexpr和常量表达式

常量表达式 常量表达式(const expression)是指值不会改变并且在编译过程就能得到计算结果的表达式。 显然&#xff0c;字面值属于常量表达式&#xff0c;用常量表达式初始化的const对象也是常量表达式。 后面将会提到&#xff0c;C语言中有几种情况下是要用到常量表达式的。…

35 跨域相关问题, 以及常见的解决方式

前言 跨域相关 这是一个 经常会碰到的问题 然后 常见的解决方式 也大概就是几种, 各有各的问题 这里仅仅是 从理论上 来探讨这个问题 主流的解决方式 是通过代理, 将不同域 合并到同一个域 测试用例 测试用例如下, 这里仅仅是一个简单的数据展示 获取对方 “/config.jso…

由浅到深认识Java语言(17):内部类

该文章Github地址&#xff1a;https://github.com/AntonyCheng/java-notes 在此介绍一下作者开源的SpringBoot项目初始化模板&#xff08;Github仓库地址&#xff1a;https://github.com/AntonyCheng/spring-boot-init-template & CSDN文章地址&#xff1a;https://blog.c…

python框架的一加剧场管理系统的设计与实现flask-django-nodejs-php

本文讲述了一加剧场管理系统。结合电子管理系统的特点&#xff0c;分析了一加剧场管理系统的背景&#xff0c;给出了一加剧场管理系统实现的设计方案。 本论文主要完成不同用户的权限划分&#xff0c;不同用户具有不同权限的操作功能&#xff0c;在用户模块&#xff0c;主要有用…

mysql之基本概念与安装

一 数据库的基本概念 1.1 数据 记录个体的信息 1.2 表 存放信息的集合&#xff0c;行于与列 1.3 数据库 数据库就是表的集合。它是以一定的组织方式存储的相互有关的数据集合 1.4 数据库管理系统 数据库管理系统&#xff08;DatabaseManagementSystem&#xff0c;DBMS&…

MySQL面试题--开发(最全,涵盖SQL基础、架构、事务)

MySQL面试题--事务https://mp.csdn.net/mp_blog/creation/editor/136947072 MySQL面试题--MySQL内部技术架构https://blog.csdn.net/Timebro/article/details/136946046?spm1001.2014.3001.5501 MySQL面试题--最全面-索引https://blog.csdn.net/Timebro/article/details/136…

深度学习基础之《TensorFlow框架(10)—案例:实现线性回归(2)》

增加其他功能 一、增加变量显示 1、目的&#xff1a;在TensorBoard当中观察模型的参数、损失值等变量值的变化 2、收集变量 不同的变量要用不同的方式收集 &#xff08;1&#xff09;tf.summary.scalar(name, tensor) 收集对于损失函数和准确率等单值变量&#xff0c;name为…

mac下 3.6.3 版本 maven

问题 Blocked mirror for repositories: [snapshots (http://xxx/artifactory/gm-maven-vir, default, releasessnapshots)]无法访问 Maven 3.8.1 http 仓库。可能的解决方案: - 检查 Maven settings.xml 是否不包含 http 仓库 - 检查 Maven pom 文件是否不包含 http 仓库 htt…