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" %>

添加依赖之后,就有提示啦:

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

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

相关文章

《UnityShader入门精要》学习4

一个最简单的顶点/片元着色器 一个最简单的顶点/片元着色器 Unity Shader的基本结构。它包含了Shader、Properties、SubShader、Fallback等语义块。顶点/片元着色器的结构与之大体类似 Shader "MyShaderName" {Properties {// 属性}SubShader {// 针对显卡A的S…

opencv图形绘制2

目录 制作宣传语&#xff08;中文&#xff09; 制作宣传语&#xff08;英文&#xff09; 绘制标记 鼠标交互绘制十字线 鼠标交互绘制图形 鼠标交互制作几何画板 滚动条控制 鼠标事件练习 制作宣传语&#xff08;中文&#xff09; import cv2 import numpy as np from …

实现Element Select选择器滚动加载

<template><el-selectpopper-class"more-tag-data"v-model"tagId"filterableplaceholder"请选择"focus"focusTag"><el-optionv-for"(item, index) in taskTagLists":key"index":label"item.n…

互联网Java工程师面试题·Java 并发编程篇·第七弹

目录 16、CAS 的问题 17、什么是 Future&#xff1f; 18、什么是 AQS 19、AQS 支持两种同步方式&#xff1a; 20、ReadWriteLock 是什么 21、FutureTask 是什么 22、synchronized 和 ReentrantLock 的区别 23、什么是乐观锁和悲观锁 24、线程 B 怎么知道线程 A 修改了…

蓝桥杯 枚举算法 (c++)

枚举就是根据提出的问题&#xff0c;——列出该问题的所有可能的解&#xff0c;并在逐一列出的过程中&#xff0c;检验每个可能解是否是问题的真正解&#xff0c; 如果是就采纳这个解&#xff0c;如果不是就继续判断下一个。 枚举法一般比较直观&#xff0c;容易理解&#xff0…

完美解决lftp遇到put: Access failed: 553 Could not create file.

目录 一、问题 二、原因 三、解决方法 一、问题 put: Access failed: 553 Could not create file. 二、原因 &#xff08;1&#xff09;没有关闭SeLinux &#xff08;2&#xff09;linux默认安装vsftp服务之后只允许匿名用户的访问和下载&#xff0c;不支持上传。 三、解决方…

matlab 图像均值滤波

目录 一、算法原理二、代码实现三、结果展示本文由CSDN点云侠翻译,放入付费专栏只为防不要脸的爬虫。专栏值钱的不是本文,切勿因本文而订阅。 一、算法原理 均值滤波是一种常用的线性滤波方法,用于平滑图像并减少噪声。它的实现过程如下: 确定滤波器的大小:选择一个固定的…

P1443 马的遍历

#include <iostream> #include <queue> using namespace std; #define M 400 int arr[M 5][M 5]; typedef struct Node {int x, y; } Node; //将马能走的8个方向封装成一个二维数组 int dir[8][2] {{2, 1}, {2, -1}, {-2, 1}, {-2, -1},{1, 2}, {-1, 2}, {1, -2…

nginx的location的优先级和匹配方式

nginx的location的优先级和匹配方式 在http模块中有server&#xff0c;server模块中有location&#xff0c;location匹配的是uri 在一个server中&#xff0c;会有多个location&#xff0c;如何来确定匹配哪个location niginx的正则表达式 ^ 字符串的起始位置 $ 字符串的…

IDEA中查看整个项目代码行数

近期正在手撸Spring源码&#xff0c;想要看下自己写了多少行代码。记录下如何查看项目的代码行数&#xff0c;方便日后查阅

Hadoop3教程(六):HDFS中的DataNode

文章目录 &#xff08;63&#xff09;DataNode工作机制&#xff08;64&#xff09;数据完整性&#xff08;65&#xff09;掉线时限参数设置参考文献 &#xff08;63&#xff09;DataNode工作机制 DataNode内部存储了一个又一个Block&#xff0c;每个block由数据和数据元数据组…

【云计算】相关解决方案介绍

文章目录 1.1 云服务环境 Eucalyptus1.1.1 介绍1.1.2 开源协议及语言1.1.3 官方网站 1.2 开源云计算平台 abiCloud1.2.1 开源协议及语言1.2.2 官方网站 1.3 分布式文件系统 Hadoop1.3.1 开源协议及语言1.3.2 官方网站 1.4 JBoss云计算项目集 StormGrind1.4.1 开源协议及语言1.4…

【数据库——MySQL(实战项目1)】(3)图书借阅系统——存储函数

目录 1. 简述2. 功能代码2.1 创建存储函数&#xff0c;根据图书编号查借阅人姓名&#xff0c;并调用该函数查询‘ **小邓在森林** ’已借未还的图书情况&#xff1b;2.2 创建存储函数&#xff0c;计算某借阅人还能借阅的图书数目&#xff0c;学生限额 5 本&#xff0c;教师限额…

Vue3 + Nodejs 实战 ,文件上传项目--实现文件批量上传(显示实时上传进度)

目录 技术栈 1.后端接口实现 2.前端实现 2.1 实现静态结构 2.2 整合上传文件的数据 2.3 实现一键上传文件 2.4 取消上传 博客主页&#xff1a;専心_前端,javascript,mysql-CSDN博客 系列专栏&#xff1a;vue3nodejs 实战--文件上传 前端代码仓库&#xff1a;jiangjunjie…

树莓派部署.net core网站程序

1、发布你的项目 使用mobaxterm上传程序 回到mobaxterm,f进入目录输入&#xff1a; cd webpublish 运行程序&#xff1a;dotnet WebApplication1.dll 访问地址为&#xff1a;http://localhost:5000,尝访问如下&#xff1a; 已经出现 返回的json&#xff0c;证明是可以访问的…

MyBatis的缓存,一级缓存,二级缓存

10、MyBatis的缓存 10.1、MyBatis的一级缓存 一级缓存是SqlSession级别的&#xff0c;通过同一个SqlSession对象 查询的结果数据会被缓存&#xff0c;下次执行相同的查询语句&#xff0c;就 会从缓存中&#xff08;缓存在内存里&#xff09;直接获取&#xff0c;不会重新访问…

软件架构设计(业务架构、应用架构、数据架构、技术架构)

一、架构相关概念 1、系统 系统&#xff1a;由一群有关联的个体组成&#xff0c;根据某种规则运作&#xff0c;能完成个别原件不能独立完成的工作的群体。大的系统可以嵌套小系统&#xff0c;被嵌套的小系统往往称为大系统的子系统。 2、模块 模块是从逻辑上将系统分解&#…

Java也能做OCR!SpringBoot 整合 Tess4J 实现图片文字识别

前言 今天给大家分享一个SpringBoot整合Tess4j库实现图片文字识别的小案例&#xff0c;希望xdm喜欢。 文末有案例代码的Git地址&#xff0c;可以自己下载了去玩玩儿或继续扩展也行。 话不多说&#xff0c;开整吧。 什么是Tess4j库 先简单给没听过的xdm解释下&#xff0c;这里要…

风储联合系统的仿真模型研究

摘要 风能是目前国内外应用较为广泛的一种绿色可再生能源&#xff0c;近几年我国风电产业的发展十分迅速。然后&#xff0c;越来越多的风力发电系统建并网&#xff0c;风力发电产生的电能受外界因素影响较大&#xff0c;具有一定的随机性和波动性&#xff0c;给并网后的电力系统…

铜死亡+机器学习+WGCNA+分型生信思路

今天给同学们分享一篇单基因泛癌免疫实验生信文章“IGF2BP3 overexpression predicts poor prognosis and correlates with immune infiltration in bladder cancer”&#xff0c;这篇文章于2023年2月3日发表在BMC Cancer期刊上&#xff0c;影响因子为3.8。 膀胱癌是全球最常见…