在 IDEA 中创建 Java Web 项目的方式(详细步骤教程)

news2024/11/29 16:32:52

开发环境

以下是我的开发环境

  • JDK 1.8
  • Maven 3.6.3
  • Tomcat 9.0
  • IDEA 2019(2019 无所畏惧,即使现在已经 2023 年了哈哈哈)

最原始的 Java Web 项目

下面的内容可能会因 IDEA 版本不同,而有些选项不同,但是大同小异。

1. 打开 IDEA

点击 Create New Project

image-20230419230442410

2. 点击 Java Enterprise

点击左侧 Java Enterprise ,默认选项如下图所示。找到 Web Application,勾选上,同时勾上 Create web.xml。点击 Next 进入下一步。

image-20230419214609114

3. 输入项目信息

输入项目名称和项目存储的位置,下方的配置默认就可以。接着点击 Finish 完成创建。

image-20230419214806536

4. 完善项目结构

到这步,已经成功创建了 Web 项目了,目录结构如下图,在 Eclipse 中,web 目录的名称是 WebContentsrc 目录存放 Java 后端代码,web 目录存放前端代码。

我们可以在 web 目录下创建 css,js,image,page 这几个目录,分别存放对应的文件,其中 page 用于存放前端页面文件,包含 JSP 页面。

web/WEB-INF 目录下,存放着我们的 web.xml 配置文件,在该目录下,我们创建一个 lib 目录,用来存放项目需要的依赖包,比如 servletjstl 等。

image-20230419221026185

对于 lib 目录下的 .jar 文件,即项目所需的依赖包,我们可以通过右键 Add as Library..,将这些依赖包作为一个 Java 类库给我们使用。

image-20230419222047017

5. 配置 Tomcat 并启动

配置 Tomcat,由于在创建项目的时候,我们已经配置了 Application Server 这个选项,选择了 Tomcat,所以这里不需要进行配置,点击 IDEA 右上角的三角符号即可启动 Tomcat

image-20230419232044424

启动成功自动跳转到浏览器中显示默认的 index.jsp 页面。对应的 URL 为:http://localhost:8080/java_web_demo_war_exploded/

这里的 URL 是可以修改的,如果你要修改的话,可以点击右上角的 Tomcat 进行配置,如下图所示:

image-20230419232634863

比如我把 Application context 的内容修改为 /demo,那么点击 OK,然后重启 Tomcat,现在访问该 Web 应用,只需输入这样的 URL:http://localhost:8080/demo/ ,就可以访问了。

使用 Maven 来创建并管理 Java Web 项目

1. 打开 IDEA

点击 Create New Project

image-20230419230442410

2. 点击 Maven

点击左侧的 Maven,勾选上 Create from archetype,找到 maven-archetype-webapp 并选中它,点击 Next 进入下一步。

image-20230419233328203

3. 输入项目信息

输入项目的相关信息,点击 Next。

image-20230419233646118

4. 搞定 Maven 信息

搞定 Maven 相关信息,setting.xml 文件以及本地 Maven 仓库不能配置时,勾选上右边的 Override 选项就可以配置了。完成后点击 Finish。

image-20230419233849310

5. 开启自动导入依赖包,确保 pom.xml 信息正确

点击 Enable Auto-Import,让 IDEA 自动刷新导入在 pom.xml 文件中引入的项目需要的依赖包。确保 pom.xml 文件中的配置是正确的。

image-20230419234443014

6. 完善项目结构

完善整个项目的结构,分别创建 src/main/javasrc/main/resourcessrc/main/webapp/WEB-INF/classessrc/main/webapp/WEB-INF/lib 这 4 个目录,如下图所示。

image-20230419235146425

java 目录用于存放 Java 代码。

resources 目录用于存放各种资源文件或者配置文件。

classes 目录用于存储项目编译后的 Java 的字节码文件,即 .class 文件。

lib 目录用于存放外部引入的 jar 包,当 Maven 仓库无法引入相关依赖时,那么就可以将对应的 jar 包放到这个 lib 目录中。

7. 配置 classes 和 lib 目录

配置 classes 以及 lib 目录

首先进入项目结构,可以通过快捷键 Ctrl + Alt + Shift + S 进入,也可以通过下图所示的方式进入。

image-20230420000000459

进入后点击左侧的 Modules ,选中你的项目,即当前模块,再点击 Paths 选项,选择刚才创建了 classes 目录的所在路径,点击 Apply。

image-20230420000356614

接着点击 Dependencies ,配置依赖包(依赖项),如下图所示。

image-20230420001651200

8. 配置 Tomcat 并启动

点击右上角的 ADD CONFIGURATION,进行 Tomcat 的配置,即告诉 IDEA, Tomcat 的所在位置,部署的访问路径等信息。

image-20230420001920951

点击 + 号添加一个新的 Tomcat 的配置项,选择本地的 Tomcat。

image-20230420002210558

Name 中输入你喜欢的配置名;Application Server 选择你自己的 Tomcat,其他的默认就 OK。

image-20230420002527394

接着点击 Deployment,点击 + 号,配置部署项,当 Tomcat 启动的时候就部署我们的 Web 项目。

image-20230420002944889

完成配置,并启动。

image-20230420003242562

最后的最后

希望各位屏幕前的靓仔靓女们给个三连!你轻轻地点了个赞,那将在我的心里世界增添一颗明亮而耀眼的星!

咱们下期再见!

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

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

相关文章

【上进小菜猪】使用Ambari提高Hadoop集群管理和开发效率:提高大数据应用部署和管理效率的利器

📬📬我是上进小菜猪,沈工大软件工程专业,爱好敲代码,持续输出干货,欢迎关注。 介绍 Hadoop是一种开源的分布式处理框架,用于在一组低成本硬件的集群上存储和处理大规模数据集。Ambari是一种基…

python 获取cookie的方法

在 Web应用程序中,用户访问网站时,通常会请求访问服务器上保存的一些用户信息(例如: Cookie),这些信息包含了用户的一些个人信息,比如:姓名、地址、密码等。对于用户来说&#xff0c…

目标检测YOLO实战应用案例100讲-基于YOLOv3的目标检测研究及改进(论文篇)

知识拓展 多尺度特征学习 目前深度学习用于目标检测已经习以为常。从SSD到Yolo系列,其中: 深层网络的感受野比较大,语义信息表征能力强,但是特征图的分辨率低,几何信息的表征能力弱(空间几何特征细节缺乏); 低层网络的感受野比较小,几何细节信息表征能力强,虽然分辨…

国漫画江湖之不良人6真的封神!

国漫画江湖之不良人6真的封神! 今天不良人第六季大结局,真的超好看,不仅剧情完整,而且还非常甜,看的非常爽,时长直接拉到40分钟,打斗场面刺激,简直是语言形容不出来的爽&#xff01…

[PyTorch]Onnx模型格式的转换与应用

相较于PyTorch默认的模型存储格式pth而言,onnx具有多端通用,方便部署的优点(据称能加快推理速度,但是未验证),本文将介绍如何使用onnx并将原有的pth权重转换为onnx。 一、配置环境 在控制台中使用如下指令 …

【wordpress】管理员忘记密码? 三种方法找回

随着近年来网络攻击日趋频繁,我们在网站中所设置的各种密码也变得越来越复杂,wordpress现在也可以生成非常复杂的密码,以防止被暴力破解。 但这些复杂的密码一般是无法记住的,我们会将此存放在我们的记事本中 如果我们的记事本遗…

Linux--install and uninstall app

1. deb系列(Ubuntu为例) 1.2 mysql 参考链接 1.2.1 Install 1.2.1.1 方法一 #1.更新仓库 sudo apt update #2.安装库中mysql版本 sudo apt install mysql-server -y1.2.1.2 方法二 mysql官网下载 #1.下载指定版本 #2.装载该版本至系统仓库 sudo …

【加解密篇】利用HashCat破解RAR压缩包加密文件详细教程

【加解密篇】利用HashCat破解RAR压缩包加密文件详细教程 在取证知识里挖呀挖呀挖—【蘇小沐】 文章目录 【加解密篇】利用HashCat破解RAR压缩包加密文件详细教程1.实验环境2.RAR加密压缩包 (一)john软件1.使用CMD命令: run\rar2john.exe &am…

WGCNA | 不止一个组的WGCNA怎么分析嘞!?~(二)(共识网络分析-第二步-构建网络与模块-一步法)

1写在前面 最近遇到了非常不讲理的病人和家属,真是忍不住想要吐槽两句。😤 为了让病人做上手术,求了输血科半天才给备了血,家属也答应去献血。😒 万万没想到,术后都2天了还是没去献血,无论是问病…

达索系统助力中车制造运营管理(MOM)平台建设

案例背景: 中国中车股份有限公司(中文简称“中国中车”,英文简称缩写“CRRC”)承继了中国北车股份有限公司、中国南车股份有限公司的全部业务和资产,是全球规模领先、品种齐全、技术一流的轨道交通装备供应商。 中国…

MySQL---10、详细的数据类型

1、MySQL中的数据类型 类型类型举例整数类型TINYINT、SMALLINT、MEDIUMINT、INT(或INTEGER)、BIGINT浮点类型FLOAT、DOUBLE定点数类型DECIMAL位类型BIT日期时间类型YEAR、TIME、DATE、DATETIME、TIMESTAMP文本字符串类型CHAR、VACHAR、TINYTEXT、TEXT、MEDIUMTEXT、LONGTEXT枚…

Java设计模式-装饰模式

简介 装饰模式在Java领域是一种常见的设计模式,它能够在不改变对象原有结构的情况下,动态地为对象添加新的功能。它通过封装原有对象,在运行时动态地为对象添加新的行为或者修改原有行为,以扩展对象的功能。这种方式避免了继承的…

C语言:简单的三子棋游戏

谈到三子棋,想必大家都不陌生,童年的回忆呀,读小学的时候有事没事就和同学玩上个几把,玩起来很得劲,作为一个学习计算机的博主,自然而然用代码来实现三子棋啦,再次感受童年的记忆,闲…

yolov8 实例分割 C++部署

此处仅为个人结果记录,并无完整部署代码 目录 Pre 一、OpenCV DNN C 部署 二、ONNX RUNTIME C 部署 Pre 一定要知道,yolov8的输出与Yolov5 7.0 实例分割的输出不一样, output0: float32[1,116,8400]。 116是4个box坐标信息80个类别概率…

政务场景|看「API-SMAC」如何守好API,保障流动数据安全

API让一切都变得更加容易。 在数字化进程加速中,API作为高速通道,让数据的流动变得更加自由。当然,黑客也这么认为。从前窃取数据需要攻入内网,再经过一系列复杂的横向移动最终访问目标数据库,极易被安全设备拦截。现在…

endNote X9 增加 / 删除参考文献 文献编号自动更新

文章目录 1 增插参考文献2 删减参考文献3 EndNote X9 插入参考文献常见问题总结4 EndNote X9 快速上手教程(毕业论文参考文献管理器) 1 增插参考文献 当前已经插入5个文献,文献编号及附录列表如下 例如在,2和3之间新插入文献 “邱…

基于粒子群优化算法的最佳方式优化无线传感器节点的位置(Matlab代码实现)

目录 💥1 概述 📚2 运行结果 🎉3 参考文献 👨‍💻4 Matlab代码 💥1 概述 此代码优化了由于电池耗尽而产生覆盖空洞后 WSN 节点的位置。如果活动通信中的任何节点死亡,则通过PSO优化再次定位…

动态联编和静态联编

基本概念 1.静态联编(早联编):在程序被编译时进行联编。程序执行快,但灵活性较小。 2.动态联编(晚联编,滞后联编):编译时无法确定要调用的函数,在程序运行时联编。灵活…

代码随想录算法训练营day37 | 738.单调递增的数字,968.监控二叉树

代码随想录算法训练营day37 | 738.单调递增的数字,968.监控二叉树 738.单调递增的数字968.监控二叉树(难) 738.单调递增的数字 教程视频:https://www.bilibili.com/video/BV1Kv4y1x7tP/?spm_id_from333.788&vd_sourceddffd5…

Pytorch环境下基于Transformer的滚动轴承故障诊断

关于python的集成环境,我一般Anaconda 和 winpython 都用,windows下主要用Winpython,IDE为spyder(类MATLAB界面)。 winpython脱胎于pythonxy,面向科学计算,兼顾数据分析与挖掘;Anaco…