在【IntelliJ IDEA】中配置【Tomcat】【2023版】【中文】【图文详解】

        作为一款功能强大的集成开发环境(IDE),IntelliJ IDEA为Web服务器提供了卓越的支持,从而极大地简化了程序员在Web开发过程中的工作流程。学习Java Web开发实质上就是掌握如何创造动态Web资源,这些资源在完成开发后,必须部署在Web服务器上,才能对外提供服务并接受访问。在众多Web服务器中,Tomcat因其稳定性和易用性而备受青睐。本篇文章将为您详细解析Tomcat服务器的安装与使用方法,帮助您更好地掌握Java Web开发的核心技术。


        在此之前,让我先为您简要介绍Tomcat。Tomcat作为Apache组织Jakarta项目中的关键组件,得到了Sun公司(现已被Oracle收购)的官方推荐,作为运行Servlet和JSP的理想容器(引擎)。其源代码的完全公开性,使得开发者能够更深入地理解和定制其功能。Tomcat不仅涵盖了Web服务器的基本功能,还提供了数据库连接池等丰富的通用组件支持。

        Tomcat以其出色的稳定性、可靠性和高效性而著称,它能够与目前市场上主流的Web服务器(如Apache、IIS等)无缝协作,同时也可作为独立的Web服务器软件运行。因此,越来越多的软件企业和开发人员选择Tomcat作为他们运行Servlet和JSP的首选平台。

        随着版本的持续更新和迭代,Tomcat的功能不断得到完善与增强,从而满足不断变化的开发需求和市场趋势。


一、【Tomcat】 的 【Windows】 配置

        大家可以从官方网站(Apache Tomcat® - Welcome!)下载,为了便于Tomcat的启动和加载过程,建议下载ZIP压缩包(本文提供了Tomcat 8.5.16版本的压缩包,以及相关实例包,可以在此处 JavaWeb程序Tomcat及Servlet配置:实例与组件包-zip压缩包资源-CSDN文库 直接进行下载),通过解压的方式安装。注意:运行Tomcat之前需要安装Java JDK。

        1.我们将Tomcat压缩文件直接解压在D盘的Tomcat文件夹下,解压后会产生一个apache-tomcat-8.5.16文件夹。打开这个文件夹可以看到Tomcat的目录结构,如图所示。

        这一系列子目录各自承担着不同的功能,接下来将对它们进行简要的介绍:

        (1)bin:此目录用于存放Tomcat的可执行文件和脚本文件。其中,常见的文件扩展名为.bat,例如tomcat8.exe和startup.bat。这些文件是启动和管理Tomcat服务器所必需的。

        (2)conf:此目录存放着Tomcat的各种配置文件,如web.xml和server.xml。这些文件对于配置Tomcat服务器的行为至关重要,包括端口设置、安全策略等。

        (3)Lib:此目录用于存放Tomcat服务器和所有Web应用程序所需的JAR文件。JAR文件是Java应用程序的归档文件,包含了Java类、资源和其他依赖项。

        (4)logs:Tomcat的日志文件被存放在此目录中。这些日志记录了服务器的运行信息、错误消息和其他重要事件,对于故障排除和系统监控非常有帮助。

        (5)temp:此目录用于存放Tomcat运行时产生的临时文件。这些文件通常是短暂存在的,用于支持应用程序的运行。

        (6)webapps:这是Web应用程序的主要发布目录。开发者通常将开发完成的Web应用程序部署到这个目录下,使其能够被Tomcat服务器识别并提供给外界访问。

        (7)work:Tomcat的工作目录位于此。JSP(Java Server Pages)编译生成的Servlet源文件和字节码文件被放置在这个目录下。这些文件是JSP页面转换为可执行的Servlet时的中间产物。

        2.双击图中的startup.bat文件,便会启动Tomcat服务器。此时,可以在弹出的命令行看到一些启动信息。

        如果你电脑上弹出的黑窗口出现这样的信息,那么恭喜你——已经初步在Windows环境中已经配置好了tomcat。

       3. Tomcat 服务器启动后,在浏览器的地址栏中输入http://localhost:8080或者http://127.0.0.1:8080 (localhost和127.0.0.1都表示本地计算机)访问Tomcat服务器,如果浏览器中的显示界面如图所示,则说明Tomcat服务器彻底安装成功了。


        注意:如果您在按这个流程配置的过程中发现弹出的黑窗口一闪而过。先不要着急,一般都是有两个问题所导致的。

        (1)电脑中还未配置Java JDK。由于篇幅所限,在这儿就不阐述Java JDK的配置过程了,网络中都有大家自行检索哈。

        在这里提供一个检查是否配置好Java JDK的方法:点击Windows键+R键——然后在弹出的窗口中输入cmd——点击确定或者Enter键——在弹出的黑窗口中输入命令行:java -version,如果出现这样的界面说明Java JDK安装没问题。

        注意:建议复制粘贴命令行java -version,以防止输入错误,中间有空格。

        (2)Tomcat服务器未成功配置。一般来说,出现这样的情况是因为刚开始还没有配置相关的环境变量。  

        在这里同样提供一个检查配置Tomcat的方法:找到刚刚解压在D盘中的Tomcat,然后在apache-tomcat-8.5中,打开bin文件夹——在这个文件夹中点击鼠标右健,然后点击“在终端中打开”——在弹出的黑窗口中输入命令行:startup.bat。如果出现下面的错误信息,确实是由于未配置成功Tomcat服务器而导致的。

配置环境变量流程:

1)在电脑界面中找到该图标,然后鼠标右键。

2)点击属性。

3)然后点击高级系统设置。

4)点击环境变量。

5)单击系统变量区域的新建按钮。

6)在弹出的对话框中将变量名设置为 JAVA_HOME ,变量值设置为JDK的安装目录。填写完后,点击确定。

注意:变量名均为大写。

7)双击打开,系统变量中的Path。

8)在这里,你可以新建或者替换原来在Path环境变量中的JDK安装路径,将其修改为%JAVA_HOME%\bin。

注意:需要在JAVA_HOME两侧添加“%”

9)此时,再次重复之前的操作就会成功了。


二、【Tomcat】的【IntelliJ IDEA】配置

此时所有的准备工作已经完善,正式开始在IntelliJ IDEA里面配置Tomcat。

1.打开你的IntelliJ IDEA编译器。

2.在左上角文件中点击新建,点击项目。

3.只需要在新建项目中添加项目即可,无需点击下面的。

        名称:自行设置合理的名称;位置:选择你要创建项目的文件夹;其他如图所示,然后点击创建。

4.在2023版本中很显然什么都没有,显得很简陋,因此就需要将大部分内容自行配置。

        首先我们进行配置web项目模块,点击项目结构(Project Structure)。

5.点击Facet(Facets),然后点击右侧那个“+”

6.点击出来的Web。

7.弹出窗口后点击确定。

8.点击右下角的应用,然后点击创建工件。

9.点击上面那个 Web exploded,然后点击右下角的应用。

10.找到这里,如果没有出现右侧的web文件夹,可以关闭窗口重新打开。

11.鼠标右键WEB-INF,新建目录classes和lib。

12.点击上面的路径,将编译器输出修改为 使用模块编译输出路径 然后将路径修改为项目web文件夹下的WEB-INF文件夹下的classes地址(之前刚刚创建的classes),该操作的作用是配置所有编译为 .class 的文件都输出到此文件夹下,最后记得点击应用。

13.点击上面的依赖,然后点击中间的“+”,继续点击JAR和目录

14.在弹出的窗口选择项目下web文件夹下WEB-INF文件夹下的lib,然后在弹出的窗口继续选择Jar Directory。

15.选择这个依赖项,然后应用。

16.现在进行Tomcat服务器配置,点击上侧的当前文件,然后点击编辑配置。

17.点击左上角的“+”

18.找到Tomcat服务器,然后点击本地。

19.在这个界面,先要配置Tomcat服务器的路径(打开的浏览器自行按照喜爱配置),然后点击应用。

20.应用后点击修复,在这里点击 Web exploded 然后再次点击应用。

21.在返回主界面后,部分人可能没有 index.jsp 文件,这个文件可以自行配置。

22.鼠标右键web文件夹,然后新建,再点击JSP/JSPX页面,最后复制下面那段代码即可。

<%@ page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %>
<!DOCTYPE html>
<html>
<head><title>JSP</title>    <!--打开网页的标签名-->
</head>
<body>
$END$    <!--网页内显示的内容-->
</body>
</html>

23.完成后是这样的,注意:这个新建的文件是在web文件夹下的,最后就可以点击启动了。

24.恭喜你,完成了。


        希望大家能够从这篇文章中获得启示和收获,同时也感谢各位大佬的支持。如果您在阅读文章时发现任何问题,欢迎在评论区留言,鸿蒙会尽快回复并提供反馈!

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

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

相关文章

server win搭建apache网站服务器+php网站+MY SQL数据库调用电子阅览室

一、适用场景&#xff1a; 1、使用开源的免费数据库Mysql&#xff1b; 2、自己建网站的发布&#xff1b; 3、使用php代码建网站&#xff1b; 4、使用windows server作为服务器&#xff1b; 5、使用apache作为网站服务器。 二、win server 中apache网站服务器搭建 &#xff0…

UUU.咕咚视频批量混剪软件下载,批量剪辑个体无限批量生成,批量合成视频,批量混剪视频的软件是什么样的?批量剪辑软件在哪下载?批量混剪软件下载容易吗?

[md]# 前言 工具的产生源于dy出的火山引擎的云视频混剪制作是按分钟数收费的&#xff0c;这个软件既能实现正常混剪也能避免二次收费。属于FFMPEG合成的。 欢迎大家给一些好的建议和功能&#xff0c;回复可见&#xff0c;附加了一些天卡&#xff0c;周卡&#xff0c;请大家不要…

excel统计分析——重复测量设计

参考资料&#xff1a;生物统计学 裂区设计中的裂区通常是指空间上的裂区&#xff0c;如果对试验指标进行连续测量时&#xff0c;时间也可以作为裂区因素。重复测量设计实际上就是时间裂区设计。进行试验结果的统计分析时&#xff0c;将试验因素作为主区&#xff0c;时间因素作为…

OPC UA 学习:文件传输

本博文是OPC 10000-20: UA Part 20: File Transfer 的学习笔记。 OPC UA的客户端需要读写服务器端的文件&#xff0c;OPCUA 规范中&#xff0c;是通过文件模型实现的。客户端通过调用文件模型中的方法来处理文件。 在控制系统中&#xff0c;需要下载配置文件&#xff0c;工艺文…

苍穹外卖学习-----2024/03/08

1.新增菜品 工具类AliOssUtil .java Data AllArgsConstructor Slf4j public class AliOssUtil {private String endpoint;private String accessKeyId;private String accessKeySecret;private String bucketName;/*** 文件上传** param bytes* param objectName* return*/pub…

准谐振PWM控制器-能够实现多种保护功能FAN6921MRMY 功率因数控制器

高度集成的FAN6921MRMY将功率因数控制器 (PFC) 和准谐振 PWM 控制器相结合。集成提供了成本高效的设计&#xff0c;可减少外部组件数量。对于 PFC&#xff0c;FAN6921MRMY使用控制导通时间技术提供调节的直流输出电压&#xff0c;执行自然的功率因数校正。FAN6921MRMY使用创新的…

微服务超大Excel文件导出方案优化

1、在导出Excel时经常会碰到文件过大&#xff0c;导出特别慢 2、微服务限制了请求超时时间&#xff0c;文件过大情况必然超时 优化思路&#xff1a; 1、文件过大时通过文件拆分、打包压缩zip&#xff0c;然后上传到oss,并设置有效期&#xff08;30天过期&#xff09; 2、把…

基于交叉表生成风控规则(Python)

大家好&#xff0c;我是东哥。 规则是风控策略中最常用的工具之一&#xff0c;生成、筛选、监控、调优&#xff0c;几乎每天都在打交道&#xff0c;本篇来介绍如何基于交叉表来生成风控规则&#xff0c;并且如何基于评估指标进行筛选。 出品人&#xff1a;东哥起飞 专栏&#…

【Spring Boot 源码学习】BootstrapContext的实际使用场景

《Spring Boot 源码学习系列》 BootstrapContext的实际使用场景 一、引言二、往期内容三、主要内容3.1 BootstrapContext3.2 BootstrapRegistry 初始化器实现3.3 BootstrapContext 的实际使用场景3.3.1 早期启动时3.3.2 环境配置准备完成时3.3.3 应用上下文准备完成后关闭 Boot…

Android增量报告生成新方案

在开发精准测试覆盖率相关的功能时候&#xff0c;对于Android的增量报告&#xff0c;由于担心修改jacoco插件会影响App的打包&#xff0c;所以一直没有修改。在网上查了一下&#xff0c;没有找到合适的方案。只有一个diff-cover开源项目&#xff1a;https://github.com/abmaonl…

Yolov8-pose关键点检测:SPPF创新涨点篇 | SPPELAN:SPP创新结合ELAN ,效果优于SPP、SPPF| YOLOv9

💡💡💡本文独家改进:新颖SPPF创新涨点改进,SPP创新结合ELAN,来自于YOLOv9,助力YOLOv8-pose,将SPPELAN代替原始的SPPF SPPELAN结构图如下: Yolov8-Pose关键点检测专栏介绍:https://blog.csdn.net/m0_63774211/category_12398833.html ✨✨✨手把手教你从数据标…

计算机网络——23网络层导论

网络层导论 网络层服务 在发送主机和接收主机对之间传送段&#xff08;segment&#xff09;在发送端将段封装到数据报中在接收端&#xff0c;将段上交给传输层实体网络层协议存在于每一个主机和路由器路由器检查每一个经过它的IP数据报的头部 网络层的关键功能 网络层功能 …

C#,老鼠迷宫问题的回溯法求解(Rat in a Maze)算法与源代码

1 老鼠迷宫问题 迷宫中的老鼠&#xff0c;作为另一个可以使用回溯解决的示例问题。 迷宫以块的NN二进制矩阵给出&#xff0c;其中源块是最左上方的块&#xff0c;即迷宫[0][0]&#xff0c;目标块是最右下方的块&#xff0c;即迷宫[N-1][N-1]。老鼠从源头开始&#xff0c;必须…

MySQL 篇-快速了解事务、索引

&#x1f525;博客主页&#xff1a; 【小扳_-CSDN博客】 ❤感谢大家点赞&#x1f44d;收藏⭐评论✍ 文章目录 1.0 事务概述 1.1 事务四大特性(ACID) 2.0 索引概述 2.1 关于 “索引一定要创建在主键上&#xff1f;” 的问题 2.2 索引操作语法 2.3 索引结构 1.0 事务概述 事务是…

JavaWeb实验 JSP内置对象

实验目的 掌握JSP内置对象的使用&#xff1b;内置对象包括out\request\response\cookie等。 实验内容 【1】创建一个JSP网页&#xff0c;文件名为index.jsp&#xff0c;利用request内置对象获取客户端访问ip的功能&#xff0c;屏蔽用户利用局域网实际ip访问Web&#xff0c;但…

技术选型思考:分库分表和分布式DB(TiDB/OceanBase) 的权衡与抉择

在当今数据爆炸的时代&#xff0c;数据库作为存储和管理数据的核心组件&#xff0c;其性能和扩展性成为了企业关注的重点。随着业务的发展和数据量的不断增长&#xff0c;传统的单库单表架构逐渐暴露出性能瓶颈和扩展性限制。为了应对这些挑战&#xff0c;企业常常需要在分库分…

15. C++泛型与符号重载

【泛型编程】 若多组类型不同的数据需要使用相同的代码处理&#xff0c;在C语言中需要编写多组代码分别处理&#xff0c;这样做显然太过繁琐&#xff0c;C增加了虚拟类型&#xff0c;使用虚拟类型可以实现一组代码处理多种类型的数据。 虚拟类型是暂时不确定的数据类型&#…

数据中台:数字中国战略关键技术设施

文章目录 每日一句正能量前言为何要建设数据中台数据中台建设痛点数据中台学习资料聚焦前沿&#xff0c;方法论体系更新与时俱进&#xff0c;紧跟时代热点深入6大行业&#xff0c;提炼实践精华大咖推荐&#xff0c;数字化转型必备案头书购买链接赠书活动 每日一句正能量 人生之…

找不到本地组策略编辑器解决办法

创建记事本写入以下命令 echo offpushd "%~dp0"dir /b %systemroot%\Windows\servicing\Packages\Microsoft-Windows-GroupPolicy-ClientExtensions-Package~3*.mum >gp.txtdir /b %systemroot%\servicing\Packages\Microsoft-Windows-GroupPolicy-ClientTools-…

Django会话

一、Cookie介绍 1.1、背景介绍 HTTP协议有一个特性就是无状态的,是指协议对于交互性场景没有记忆能力 随着动态交互的web应用的出现,HTTP的无状态特性严重阻碍了动态交互应用程序的发展,例如一些购物网站在进行购物时候都会进行了页面跳转/刷新,按照HTTP的无状态协议岂不…