IDEA的使用(四)创建不同类型的工程(IntelliJ IDEA 2022.1.3版本)
1. 创建Java工程


![]()

创建之后,src下是空的。可以在src下创建软件包Package,命名采用域名倒序。在软件包下再创建Java类。Java类运行后出现中文乱码,就到控制台和文件编码这两个地方设置编码。


2. 创建JavaWeb工程
2.1 在win11和IDEA中配置Tomcat
windwos10上安装tomcat(详细步骤)_tomact 10.1-CSDN博客
首先按照网上搜索的安装(不一定是上面链接,下面的资源绑定里也有)方法在win11或win10安装最新版本的Tomcat(我安装的是Tomcat 9.0.41)。然后在IDEA中设置。

2.2 创建JavaWeb工程
在项目上右键创建新模块,


在这个模块上右键,点击添加框架支持(add Framework Support),勾选Web Application,选择版本4.0,勾选创建web.xml。


得到如下:
2.3 把当前JavaWeb工程配置到Tomcat中
运行栏选择编辑配置,添加新配置本地Tomcat,选择部署Deployment中的添加工件Artifact。



得到工件如下所示,修改应用程序上下文(决定浏览器显示的访问路径工程名叫什么。一般删去“_war_exploded”)。如果需要多个模块使用Tomcat,可以把Tomcat实例的名称修改为模块名,以作区分。点击应用。

然后修改Sever服务器,确认浏览器和打开路径、端口号。

启动Tomcat:

如果Tomcat控制台乱码
Tomcat 9.0.41在IDEA中乱码问题(IntelliJ IDEA 2022.1.3版本)_时时师师的博客-CSDN博客
2.3.1 进行Tomcat热部署:

执行更新操作时:
更新资源:修改jsp文件保存后,点击刷新浏览器页面就可以看到效果。
更新类和资源:修改java代码和jsp文件保存后,点击刷新浏览器页面就可以看到效果。
重新部署:每次更新,重新打包工件Artifact部署。
重启服务器:更新就重启一次Tomcat。
示例中,我们暂时把下面两个都选择更新资源。

重启Tomcat,然后看到标题和内容都没变,修改标题和内容并保存,刷新页面看到修改内容,证明已经热部署成功了。

2.3.2 启动时一起启动tomcat内的预装项目
关于tomcat配置,如果要在启动时一起启动tomcat内的预装项目,而不仅仅是当前部署项目,需要勾选端口配置右侧两个多选框的第一个,也就是部署tomcat实例中配置的应用程序。

3. 创建Maven的Java工程


Maven的安装和配置 (win11)-CSDN博客
https://blog.csdn.net/qq_41915723/article/details/115561058?csdn_share_tail=%7B%22type%22%3A%22blog%22%2C%22rType%22%3A%22article%22%2C%22rId%22%3A%22115561058%22%2C%22source%22%3A%22qq_41915723%22%7D
(网上找找Maven的安装配置就能找到很多的)
下面直接整合Maven:
3.1 选择自己的Maven目录,和settings文件,然后配置仓库repository。

3.2 创建Maven的Java工程:

指明当前maven工程的名称,模板等信息。这里要求一个项目组的JDK版本必须一致。
(我使用的是JDK17)创建过程要保证是一个联网的状态

3.3 IDEA配置maven没问题
那么创建成功之后,会自动运行package,出现

没有报错信息。且文件目录是:

3.4 IDEA配置maven出错
运行程序,先查看是否配置正确能正常启动。

或者

虽然启动成功出现:

但是还出现了一个警告信息:

检查发现配置这里配置错了。进行了重新配置:

并删除这个文件,重新创建maven。
3.5 删除不必要文件,main下新建资源目录resources


测试下也要创建一个测试资源根目录(或者在普通文件创建之后,选择标记为资源根目录)。

还可以删除pom文件中的内容,只保留如下:

3.6 编写代码及测试

pom文件引入依赖:

如果依赖项中没有,需要点击刷新。
编写Test测试代码:

运行结果:

运行一次之后会自动生成target(目标)文件,里面有自解码文件.class文件。

3.7 Maven侧边栏介绍

生命周期:
clean:清空并删除编译好的target中的自解码文件,并生成新的target文件夹和自解码文件。
compole:编译模块中的类。
test:执行带有@Test类的测试方法。
package:打包
install:安装。如果当前编写的程序模块需要被其他程序依赖,就可以使用install。
会把打包好的jar包放进本地仓库中,E:\programmingSoftware\JetBrains\Maven\repo4maven\com\study\maven\module04_maven_java01\1.0-SNAPSHOT\module04_maven_java01-1.0-SNAPSHOT.jar

3.8 pom.xml文件中搜索、引入依赖,出现红色异常
新建的maven中出现这个异常:

是因为版本不对。复制artifactId(工件ID)名称去官网搜索依赖:
仓库服务


或 Maven Repository: org.apache.maven.plugins



引入依赖,修改版本号为3.4.5。然后刷新。

4. 创建Java Web工程
4.1 创建Java Web工程

父项选择需要自己去maven专项课程中学习。这里作为示例,暂时不做选择。


4.2 进入Run/Debug Configuration进行Tomcat配置:


新建一个Tomcat,命名为module04_maven_web_01,部署中添加工件,修改应用程序上下文。

进行热部署、浏览器选择、JDK选择。

注意这里没有选择C盘下的JDK17.0.4,而是选择了(OracleOpenJDK version 17.0.4)。

4.3 运行Tomcat:

4.4 开发JSP需要的依赖jar包
<dependency><groupId>javax.servlet</groupId><artifactId>servlet-api</artifactId><version>2.5</version><scope>provided</scope></dependency><dependency><groupId>javax.servlet.jsp</groupId><artifactId>jsp-api</artifactId><version>2.2.1-b03</version><scope>provided</scope></dependency>

这里是2.1.3-b03不是06。

<%@ page language="java" pageEncoding="UTF-8" contentType="text/html;charset=UTF-8" %>
添加依赖之后,就有提示啦:

相关文章:
IDEA的使用(四)创建不同类型的工程(IntelliJ IDEA 2022.1.3版本)
1. 创建Java工程 创建之后,src下是空的。可以在src下创建软件包Package,命名采用域名倒序。在软件包下再创建Java类。Java类运行后出现中文乱码,就到控制台和文件编码这两个地方设置编码。 2. 创建JavaWeb工程 2.1 在win11和IDEA中配置Tomca…...
Mac上brew切换国内源【极简方案】
前言 下载一些开源包如telnet时,通过brew下载经常由于网络不通,导致下载失败。所以mac用户最好一次性设置brew为国内源。 方案 极简四步,换Homebrew的镜像源为阿里云镜像,依次在终端执行以下几步: 1、cd “$(brew …...
计算机网络面试常问问题--保研及考研复试
前言: Hello大家好,我是Dream。今年保研上岸山东大学人工智能专业 (经验贴),现在将我自己的专业课备考知识点整理出来,分享给大家,希望可以帮助到大家!这是重点知识总结,…...
elasticsearch 8.5.3问题记录
一:解决 elasticsearch 高版本 warning: ignoring JAVA_HOMEC:\Program Files\Java\jdk-11; using bundled JDK if defined JAVA_HOME (set JAVA_HOME%JAVA_HOME%; )示例版本Elasticsearch 8.5.3 可以与 JDK 11 兼容,但不支持 JDK 17。确保选…...
【Ubuntu虚拟机】
Ubuntu虚拟机配置samba 转载知乎 samba: 安装samba服务 sudo apt-get install samba 2.确定是否确实安装了 samba --version 输入这个命令,确实安装的话,会打印出samba的版本 3.创建一个samba服务的共享目录,并配置该目录为最高权限 sudo …...
江苏服务器有哪些特点
江苏服务器具有以下特点: 高性能:江苏服务器采用高性能的处理器和大内存,能够快速、流畅地处理网络请求和数据,确保网络的高效运行。高防性:江苏服务器通常具有高防性,能够抵御各种DDoS攻击和CC攻击&#…...
acwing算法基础之基础算法--求逆序对的数目
目录 1 知识点2 模板 1 知识点 合并两个有序数组,对于有序数组[l,mid]和有序数组[mid1,r],将i指向前者,将j指向后者。在将每一个j插入最终有序数组中时,计算 s j m i d − i 1 s_jmid-i1 sjmid−i1,此为(x,nums[j…...
uni-app 实现考勤打卡功能
一、在页面中引入地图组件 <map id"map" style"width: 100%; height: 100%" :latitude"myLatitude" :longitude"myLongitude" :circles"circles" :markers"markers"> </map>属性名类型说明longitudeN…...
Jenkins发布失败记录
Exception when publishing, exception message [Exec exit status not zero. Status [127]] 见链接:Jenkins发布时常见异常(持续更新...)_exception when publishing, exception message [exec_码农StayUp的博客-CSDN博客 The remote end hu…...
【算法|双指针系列No.6】leetcode LCR 179. 查找总价格为目标值的两个商品
个人主页:兜里有颗棉花糖 欢迎 点赞👍 收藏✨ 留言✉ 加关注💓本文由 兜里有颗棉花糖 原创 收录于专栏【手撕算法系列专栏】【LeetCode】 🍔本专栏旨在提高自己算法能力的同时,记录一下自己的学习过程,希望…...
python flask接口字段存在性校验函数(http接口字段校验)(返回提示缺少的字段信息)validate_fields()
文章目录 字段存在性校验示例 字段存在性校验 from flask import Flask, request, jsonifyapp Flask(__name__)def validate_fields(data, fields):missing_fields [field for field in fields if field not in data]if missing_fields:return False, f"缺少以下字段: …...
Linux文件-内存映射mmap
mmap定义为:Linux通过将一个虚拟内存区域与一个磁盘上的对象(object)关联起来,以初始化这个虚拟内存区域的内容,这个过程称为内存映射(memory mapping)。 在LINUX中我们可以使用mmap用来在进程虚拟内存地址空间中分配地址空间,创…...
linux 查看当前正在运行的端口和监听的端口的工具及命令
在Linux系统中,你可以使用多种工具和命令来查看当前正在运行的端口和监听的端口。以下是一些常用的工具和命令: netstat命令: Netstat(Network Statistics)是一个用于查看网络连接、路由表和接口统计信息的命令行工具…...
保护互联网数据安全:关键方法与最佳实践
在当今数字化时代,互联网数据安全已经成为个人、企业和组织的首要任务之一。随着信息技术的迅猛发展,网络威胁也不断演进,因此保护互联网数据安全变得尤为关键。本文将介绍一些关键方法和最佳实践,帮助您确保互联网数据的安全性。…...
分布式数据库HBase(林子雨慕课课程)
文章目录 4. 分布式数据库HBase4.1 HBase简介4.2 HBase数据模型4.3 HBase的实现原理4.4 HBase运行机制4.5 HBase的应用方案4.6 HBase安装和编程实战 4. 分布式数据库HBase 4.1 HBase简介 HBase是BigTable的开源实现 对于网页搜索主要分为两个阶段 1.建立整个网页索引…...
矩阵求导的本质与分子布局、分母布局的本质
大佬讲解的实在太吊了。 就拿大佬的总结说明一下: 矩阵求导结果,无非就是分子的转置、向量化,分母的转置、向量化,它们的各种组合而已。 1、分子布局的本质:分子是标量、列向量、矩阵向量化后的列向量;分母…...
【广州华锐互动】VR建筑施工事故体验:提高工人安全意识和责任感
VR建筑施工事故体验的意义在于通过模拟真实场景和情况,帮助人们更好地理解建筑施工中的安全问题,并提供一种安全、有效的方式来学习和掌握安全技能。 建筑施工是一项高风险的工作,涉及各种复杂的工作环境和操作过程。在现实中,建筑…...
HSRP热备份路由器协议的解析和配置
HSRP的解析 个人简介 HSRP hot standby router protocol 热备份路由协议(思科私有协议) HSRP v1 version 1 HSRP v2 version 2 虚拟一个HSRP虚拟IP地址 192.168.1.1 开启HSRP的抢占功能 通过其他参数 人为调整谁是主 谁是从 ! 查…...
kotlin实现ArrayDeque
Deque双端队列,一直在使用,却从未了解过源码。 内部逻辑其实很简单 可扩容数组循环队列,循环栈扩容倍数1.5,sizesize(size shr 1)只从两端存取元素 fun main() {val deque MyArrayDeque()repeat(16) {deque.addLast(it)}while …...
java时间格式化
1,CST时间格式化,这个一般是返回值的类型为 Date 类型,如果不做处理,返给前端的就是时间戳,当然也可以更改返回值类型为 String,这样就不用处理了。方法如下: /*** 格式化时间* param date Thu…...
7.4.分块查找
一.分块查找的算法思想: 1.实例: 以上述图片的顺序表为例, 该顺序表的数据元素从整体来看是乱序的,但如果把这些数据元素分成一块一块的小区间, 第一个区间[0,1]索引上的数据元素都是小于等于10的, 第二…...
iOS 26 携众系统重磅更新,但“苹果智能”仍与国行无缘
美国西海岸的夏天,再次被苹果点燃。一年一度的全球开发者大会 WWDC25 如期而至,这不仅是开发者的盛宴,更是全球数亿苹果用户翘首以盼的科技春晚。今年,苹果依旧为我们带来了全家桶式的系统更新,包括 iOS 26、iPadOS 26…...
日语学习-日语知识点小记-构建基础-JLPT-N4阶段(33):にする
日语学习-日语知识点小记-构建基础-JLPT-N4阶段(33):にする 1、前言(1)情况说明(2)工程师的信仰2、知识点(1) にする1,接续:名词+にする2,接续:疑问词+にする3,(A)は(B)にする。(2)復習:(1)复习句子(2)ために & ように(3)そう(4)にする3、…...
Debian系统简介
目录 Debian系统介绍 Debian版本介绍 Debian软件源介绍 软件包管理工具dpkg dpkg核心指令详解 安装软件包 卸载软件包 查询软件包状态 验证软件包完整性 手动处理依赖关系 dpkg vs apt Debian系统介绍 Debian 和 Ubuntu 都是基于 Debian内核 的 Linux 发行版ÿ…...
【位运算】消失的两个数字(hard)
消失的两个数字(hard) 题⽬描述:解法(位运算):Java 算法代码:更简便代码 题⽬链接:⾯试题 17.19. 消失的两个数字 题⽬描述: 给定⼀个数组,包含从 1 到 N 所有…...
AtCoder 第409场初级竞赛 A~E题解
A Conflict 【题目链接】 原题链接:A - Conflict 【考点】 枚举 【题目大意】 找到是否有两人都想要的物品。 【解析】 遍历两端字符串,只有在同时为 o 时输出 Yes 并结束程序,否则输出 No。 【难度】 GESP三级 【代码参考】 #i…...
【SQL学习笔记1】增删改查+多表连接全解析(内附SQL免费在线练习工具)
可以使用Sqliteviz这个网站免费编写sql语句,它能够让用户直接在浏览器内练习SQL的语法,不需要安装任何软件。 链接如下: sqliteviz 注意: 在转写SQL语法时,关键字之间有一个特定的顺序,这个顺序会影响到…...
视频字幕质量评估的大规模细粒度基准
大家读完觉得有帮助记得关注和点赞!!! 摘要 视频字幕在文本到视频生成任务中起着至关重要的作用,因为它们的质量直接影响所生成视频的语义连贯性和视觉保真度。尽管大型视觉-语言模型(VLMs)在字幕生成方面…...
自然语言处理——循环神经网络
自然语言处理——循环神经网络 循环神经网络应用到基于机器学习的自然语言处理任务序列到类别同步的序列到序列模式异步的序列到序列模式 参数学习和长程依赖问题基于门控的循环神经网络门控循环单元(GRU)长短期记忆神经网络(LSTM)…...
RNN避坑指南:从数学推导到LSTM/GRU工业级部署实战流程
本文较长,建议点赞收藏,以免遗失。更多AI大模型应用开发学习视频及资料,尽在聚客AI学院。 本文全面剖析RNN核心原理,深入讲解梯度消失/爆炸问题,并通过LSTM/GRU结构实现解决方案,提供时间序列预测和文本生成…...

