当前位置: 首页 > news >正文

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工程 创建之后&#xff0c;src下是空的。可以在src下创建软件包Package&#xff0c;命名采用域名倒序。在软件包下再创建Java类。Java类运行后出现中文乱码&#xff0c;就到控制台和文件编码这两个地方设置编码。 2. 创建JavaWeb工程 2.1 在win11和IDEA中配置Tomca…...

Mac上brew切换国内源【极简方案】

前言 下载一些开源包如telnet时&#xff0c;通过brew下载经常由于网络不通&#xff0c;导致下载失败。所以mac用户最好一次性设置brew为国内源。 方案 极简四步&#xff0c;换Homebrew的镜像源为阿里云镜像&#xff0c;依次在终端执行以下几步&#xff1a; 1、cd “$(brew …...

计算机网络面试常问问题--保研及考研复试

前言&#xff1a; Hello大家好&#xff0c;我是Dream。今年保研上岸山东大学人工智能专业 &#xff08;经验贴&#xff09;&#xff0c;现在将我自己的专业课备考知识点整理出来&#xff0c;分享给大家&#xff0c;希望可以帮助到大家&#xff01;这是重点知识总结&#xff0c;…...

elasticsearch 8.5.3问题记录

一&#xff1a;解决 elasticsearch 高版本 warning: ignoring JAVA_HOMEC:\Program Files\Java\jdk-11&#xff1b; using bundled JDK if defined JAVA_HOME (set JAVA_HOME%JAVA_HOME%; )示例版本Elasticsearch 8.5.3 可以与 JDK 11 兼容&#xff0c;但不支持 JDK 17。确保选…...

【Ubuntu虚拟机】

Ubuntu虚拟机配置samba 转载知乎 samba: 安装samba服务 sudo apt-get install samba 2.确定是否确实安装了 samba --version 输入这个命令&#xff0c;确实安装的话&#xff0c;会打印出samba的版本 3.创建一个samba服务的共享目录&#xff0c;并配置该目录为最高权限 sudo …...

江苏服务器有哪些特点

江苏服务器具有以下特点&#xff1a; 高性能&#xff1a;江苏服务器采用高性能的处理器和大内存&#xff0c;能够快速、流畅地处理网络请求和数据&#xff0c;确保网络的高效运行。高防性&#xff1a;江苏服务器通常具有高防性&#xff0c;能够抵御各种DDoS攻击和CC攻击&#…...

acwing算法基础之基础算法--求逆序对的数目

目录 1 知识点2 模板 1 知识点 合并两个有序数组&#xff0c;对于有序数组[l,mid]和有序数组[mid1,r]&#xff0c;将i指向前者&#xff0c;将j指向后者。在将每一个j插入最终有序数组中时&#xff0c;计算 s j m i d − i 1 s_jmid-i1 sj​mid−i1&#xff0c;此为(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]] 见链接&#xff1a;Jenkins发布时常见异常&#xff08;持续更新...&#xff09;_exception when publishing, exception message [exec_码农StayUp的博客-CSDN博客 The remote end hu…...

【算法|双指针系列No.6】leetcode LCR 179. 查找总价格为目标值的两个商品

个人主页&#xff1a;兜里有颗棉花糖 欢迎 点赞&#x1f44d; 收藏✨ 留言✉ 加关注&#x1f493;本文由 兜里有颗棉花糖 原创 收录于专栏【手撕算法系列专栏】【LeetCode】 &#x1f354;本专栏旨在提高自己算法能力的同时&#xff0c;记录一下自己的学习过程&#xff0c;希望…...

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定义为&#xff1a;Linux通过将一个虚拟内存区域与一个磁盘上的对象(object)关联起来&#xff0c;以初始化这个虚拟内存区域的内容&#xff0c;这个过程称为内存映射(memory mapping)。 在LINUX中我们可以使用mmap用来在进程虚拟内存地址空间中分配地址空间&#xff0c;创…...

linux 查看当前正在运行的端口和监听的端口的工具及命令

在Linux系统中&#xff0c;你可以使用多种工具和命令来查看当前正在运行的端口和监听的端口。以下是一些常用的工具和命令&#xff1a; netstat命令&#xff1a; Netstat&#xff08;Network Statistics&#xff09;是一个用于查看网络连接、路由表和接口统计信息的命令行工具…...

保护互联网数据安全:关键方法与最佳实践

在当今数字化时代&#xff0c;互联网数据安全已经成为个人、企业和组织的首要任务之一。随着信息技术的迅猛发展&#xff0c;网络威胁也不断演进&#xff0c;因此保护互联网数据安全变得尤为关键。本文将介绍一些关键方法和最佳实践&#xff0c;帮助您确保互联网数据的安全性。…...

分布式数据库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.建立整个网页索引&#xf…...

矩阵求导的本质与分子布局、分母布局的本质

大佬讲解的实在太吊了。 就拿大佬的总结说明一下&#xff1a; 矩阵求导结果&#xff0c;无非就是分子的转置、向量化&#xff0c;分母的转置、向量化&#xff0c;它们的各种组合而已。 1、分子布局的本质&#xff1a;分子是标量、列向量、矩阵向量化后的列向量&#xff1b;分母…...

【广州华锐互动】VR建筑施工事故体验:提高工人安全意识和责任感

VR建筑施工事故体验的意义在于通过模拟真实场景和情况&#xff0c;帮助人们更好地理解建筑施工中的安全问题&#xff0c;并提供一种安全、有效的方式来学习和掌握安全技能。 建筑施工是一项高风险的工作&#xff0c;涉及各种复杂的工作环境和操作过程。在现实中&#xff0c;建筑…...

HSRP热备份路由器协议的解析和配置

HSRP的解析 个人简介 HSRP hot standby router protocol 热备份路由协议&#xff08;思科私有协议&#xff09; HSRP v1 version 1 HSRP v2 version 2 虚拟一个HSRP虚拟IP地址 192.168.1.1 开启HSRP的抢占功能 通过其他参数 人为调整谁是主 谁是从 &#xff01; 查…...

kotlin实现ArrayDeque

Deque双端队列&#xff0c;一直在使用&#xff0c;却从未了解过源码。 内部逻辑其实很简单 可扩容数组循环队列&#xff0c;循环栈扩容倍数1.5&#xff0c;sizesize(size shr 1)只从两端存取元素 fun main() {val deque MyArrayDeque()repeat(16) {deque.addLast(it)}while …...

java时间格式化

1&#xff0c;CST时间格式化&#xff0c;这个一般是返回值的类型为 Date 类型&#xff0c;如果不做处理&#xff0c;返给前端的就是时间戳&#xff0c;当然也可以更改返回值类型为 String&#xff0c;这样就不用处理了。方法如下&#xff1a; /*** 格式化时间* param date Thu…...

Vim 调用外部命令学习笔记

Vim 外部命令集成完全指南 文章目录 Vim 外部命令集成完全指南核心概念理解命令语法解析语法对比 常用外部命令详解文本排序与去重文本筛选与搜索高级 grep 搜索技巧文本替换与编辑字符处理高级文本处理编程语言处理其他实用命令 范围操作示例指定行范围处理复合命令示例 实用技…...

【kafka】Golang实现分布式Masscan任务调度系统

要求&#xff1a; 输出两个程序&#xff0c;一个命令行程序&#xff08;命令行参数用flag&#xff09;和一个服务端程序。 命令行程序支持通过命令行参数配置下发IP或IP段、端口、扫描带宽&#xff0c;然后将消息推送到kafka里面。 服务端程序&#xff1a; 从kafka消费者接收…...

前端倒计时误差!

提示:记录工作中遇到的需求及解决办法 文章目录 前言一、误差从何而来?二、五大解决方案1. 动态校准法(基础版)2. Web Worker 计时3. 服务器时间同步4. Performance API 高精度计时5. 页面可见性API优化三、生产环境最佳实践四、终极解决方案架构前言 前几天听说公司某个项…...

大语言模型如何处理长文本?常用文本分割技术详解

为什么需要文本分割? 引言:为什么需要文本分割?一、基础文本分割方法1. 按段落分割(Paragraph Splitting)2. 按句子分割(Sentence Splitting)二、高级文本分割策略3. 重叠分割(Sliding Window)4. 递归分割(Recursive Splitting)三、生产级工具推荐5. 使用LangChain的…...

【服务器压力测试】本地PC电脑作为服务器运行时出现卡顿和资源紧张(Windows/Linux)

要让本地PC电脑作为服务器运行时出现卡顿和资源紧张的情况&#xff0c;可以通过以下几种方式模拟或触发&#xff1a; 1. 增加CPU负载 运行大量计算密集型任务&#xff0c;例如&#xff1a; 使用多线程循环执行复杂计算&#xff08;如数学运算、加密解密等&#xff09;。运行图…...

在WSL2的Ubuntu镜像中安装Docker

Docker官网链接: https://docs.docker.com/engine/install/ubuntu/ 1、运行以下命令卸载所有冲突的软件包&#xff1a; for pkg in docker.io docker-doc docker-compose docker-compose-v2 podman-docker containerd runc; do sudo apt-get remove $pkg; done2、设置Docker…...

短视频矩阵系统文案创作功能开发实践,定制化开发

在短视频行业迅猛发展的当下&#xff0c;企业和个人创作者为了扩大影响力、提升传播效果&#xff0c;纷纷采用短视频矩阵运营策略&#xff0c;同时管理多个平台、多个账号的内容发布。然而&#xff0c;频繁的文案创作需求让运营者疲于应对&#xff0c;如何高效产出高质量文案成…...

R语言速释制剂QBD解决方案之三

本文是《Quality by Design for ANDAs: An Example for Immediate-Release Dosage Forms》第一个处方的R语言解决方案。 第一个处方研究评估原料药粒径分布、MCC/Lactose比例、崩解剂用量对制剂CQAs的影响。 第二处方研究用于理解颗粒外加硬脂酸镁和滑石粉对片剂质量和可生产…...

Python基于历史模拟方法实现投资组合风险管理的VaR与ES模型项目实战

说明&#xff1a;这是一个机器学习实战项目&#xff08;附带数据代码文档&#xff09;&#xff0c;如需数据代码文档可以直接到文章最后关注获取。 1.项目背景 在金融市场日益复杂和波动加剧的背景下&#xff0c;风险管理成为金融机构和个人投资者关注的核心议题之一。VaR&…...

【网络安全】开源系统getshell漏洞挖掘

审计过程&#xff1a; 在入口文件admin/index.php中&#xff1a; 用户可以通过m,c,a等参数控制加载的文件和方法&#xff0c;在app/system/entrance.php中存在重点代码&#xff1a; 当M_TYPE system并且M_MODULE include时&#xff0c;会设置常量PATH_OWN_FILE为PATH_APP.M_T…...