IDEA创建Tomcat/Servlet项目

作者:私语茶馆

1.前言

        利用Idea创建一个Java EE的Tomcat Web项目,记录一下过程。

        Jakarta EE介绍:以前被称为Java EE(Java Platform, Enterprise Edition),但在Oracle将Java EE相关的技术和知识产权转移到Eclipse基金会后,这个技术栈被重新命名为Jakarta EE。Jakarta EE是Eclipse基金会管理的一个开源企业级Java平台规范,用于构建和部署可扩展、安全且可靠的多层企业级Web应用。

        IDEA提供一个官方的Wizard覆盖JAVAEE和JakartaEE项目的创建。

环境:开发Web项目所需软件:Idea Ultimate版本、Tomcat7及以上,Jdk1.8及以上。

Artifacts概念:是项目资产的集合,希望放到一起测试,部署或者发布。例如一个Web应用的目录结构或者archive。

Artifacts格式:许多Artifacts的格式适合部署到application server或者云上,例如WAR, EAR, Exploded EAR。Idea提供两种Web应用格式:(1)Web application:exploded:未压缩的Web WAR包;(2)Web Application:Archivie: Web应用的War包。采用JakartaEE会自动生成这两个artifacts。

Target目录:是编译后才会生成的目录,用于存放编译后的结果。需要满足maven结构的项目才会生成。普通项目生成out目录,这个是idea转有。

2. 第一步New Project

第一步:主菜单: File | New | Project,界面如下图所示,几个关键点:

  1. Generator:选择JakartaEE
  2. Template:选择Web APPlication
  3. Building System:选择Maven,

创建Web项目支持Servlet和JSP

按照官方用例,第4点:暂时不选ApplicationServer, 后面会再添加,也可以在这里添加。其他的按照本机安装的版本选择。笔者试了几次,,如果后面添加会有很多问题需要调整。

3. 第2步选择JakartaEE版本

JakartaEE的版本和Tomcat版本的匹配关系如下:

For Tomcat 9, select Java EE 8. For Tomcat 10, select Jakarta EE 9.1.

依赖关系:当前只包括Servlet。

JakartaEE版本设置

然后点击Create,生成的项目结构和一些样例代码,如下图:

样例项目结构

  1. Pom.xml: Maven的配置文件,描述依赖和插件的
  2. Index.jsp: 开始页面,并包括一个链接指向hello-servlet
  3. HelloServlet:继承HttpServlet,并处理/hello-servlet"消息

4.编译&调试项目

(1)编译项目

编译后会生成Target目录。

生成target目录

5.debug项目

Debug项目:

运行结果(会自动调用浏览器输入URL):

Debug结果

6.总结

  1. 采用Jakarta的Webapplication模板会自动生成:artifacts的配置、Debug/run的配置文件。但在前面要提前把本地Tomcat配置上。
  2. 最好不要手工创建Application Server等后面会有比较多奇怪问题难以处理。

7.关键的配置信息

7.1.Application Server信息

菜单:FILE-setting:打开设置页面,选择:Build, Execution, Deployment | Application Servers.

点击,并选择Tomcat

7.2.Artifacts信息

Modules信息,必须先有Web模块,才能在artifacts中创建WAR、WAR-Exploded

Artifacts信息:

7.3.run configuration信息

Run Configuration是IDEA用来构建artifacts并将它们部署到application server中。

  1. 菜单:Run|Edit Configurations
  2. 点+,展开Tomcat Server节点,并选择Local
  3. 会提示没有artifacts,点击Fix配置。会自动添加Artifacts对象
  4. 在Server的tab页面中,设置URL指向根资源

配置Run/Debug Configurations-Server

Run/Debug Configurations信息-deployment

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

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

相关文章

如何从 iPhone 恢复已删除或丢失的联系人?

不小心删除了您的 iPhone 联系人?不用担心。我们将向您展示如何从 iPhone或 iPad恢复已删除或丢失的联系人。当您从 iPhone 中删除联系人时,您可能认为无法将其恢复。但事实是,您可以从 iPhone 或 iPad 恢复已删除的联系人,因为它…

vue3实现移动端,PC端响应式布局

纯移动端|PC端 这种适用于只适用一个端的情况 方法:amfe-flexible postcss-pxtorem相结合 ① 执行以下两个命令 npm i -S amfe-flexible npm install postcss-pxtorem --save-dev② main.js文件引用 import amfe-flexible③ 根目录新建一个postcss.config.js文件…

rancher/elemental 构建不可变IOS(一)

一、什么是elemental Elemental 是 Rancher 的一个变种,专注于提供一个更轻量级的 Kubernetes 发行版。它旨在提供简化的部署和管理体验,同时保持 Kubernetes 的灵活性和强大功能。Elemental 通常针对较小的部署场景或资源受限的环境,例如测…

16册 | 移动机器人(自动驾驶)系列

此文档整理推荐了16本移动机器人(自动驾驶)相关的书籍,内容包括:ROS、机器人基础开发、分布式机器人控制、集群机器人控制、嵌入式机器人、多传感器融合等等。 学习,切勿急于求成,读书自学,需多…

讯饶科技 X2Modbus 敏感信息泄露

讯饶科技 X2Modbus 敏感信息泄露 文章目录 讯饶科技 X2Modbus 敏感信息泄露漏洞描述影响版本实现原理漏洞复现修复建议 漏洞描述 X2Modbus是一款功能很强大的协议转换网关, 这里的X代表各家不同 的通信协议,2是To的谐音表示转换,Modbus就是最…

uniapp 桌面应用插件 Ba-Launcher

简介(下载地址) Ba-Launcher 可以让你的应用成为简单的桌面应用,如需扩展功能,请联系我。 截图展示 可关注博客,实时更新最新插件: uniapp 常用原生插件大全 使用方法 使用方法也很简单,在插…

.net core ef 连表查询

Information和TypeInfo连表查询 类似: select st.Title1,si.* from [Star_Information] si left join Star_TypeInfo st on si.typeId2st.id 先在EfCoreDbContext.cs配置 protected override void OnModelCreating(ModelBuilder builder){base.OnModelCreating(b…

Sentinel 控制台学习

引言 上篇文章已经讲过 SpringCloud Sentinel集成到微服务项目中,接下来我们继续学习怎么使用sentinel控制台对微服务进行限流,熔断,降级等一系列操作。 控制台 接下来我们单独讲解每一个菜单按钮 实时监控 实时监控: 可以看到…

【项目构建】04:动态库与静态库制作

OVERVIEW 1.编译动态链接库(1)编译动态库(2)链接动态库(3)运行时使用动态库 2.编译静态链接库(1)编译静态库(2)链接静态库(3)运行时使…

免费的单片机物联网MQTT平台选择

目的是多设备接入中控,平台只做转发。 选择巴法云:巴法科技&巴法云-巴法设备云-巴法物联网云平台 clientId是私钥uid: 多设备 clientId 填同一个 uid 都是可以的。平台应该是加了后缀区分。 支持自定义topic,操作简单&#x…

2024.5.5 机器学习周报

引言 Abstract 文献阅读 1、题目 SuperGlue: Learning Feature Matching with Graph Neural Networks 2、引言 本文介绍了SuperGlue,这是一种神经网络,它通过联合寻找对应关系并拒绝不匹配的点来匹配两组局部特征。通过求解一个可微的最优运输问题…

TikTok引流中海外云手机的实用功能分享

在当下,TikTok已成为全球范围内最受欢迎的社交媒体平台之一,拥有着庞大的用户群体和潜在的商业机会。为了在TikTok上实现更好的引流效果,利用海外云手机成为了一个明智的选择。接下来,我们将深入探讨海外云手机的功能以及它如何助…

跳出框架:Facebook的创新策略与社交影响

1. 引言 在数字化时代,社交媒体如同一面镜子,反映出我们社会的多元性和变革。Facebook,作为这面镜子中最明亮的一个,不仅改变了人们的日常生活,更深刻地塑造了社交、文化和经济的面貌。本文将深入探讨Facebook的创新策…

Maven3.9.6下载安装教程

(/≧▽≦)/~┴┴ 嗨~我叫小奥 ✨✨✨ 👀👀👀 个人博客:小奥的博客 👍👍👍:个人CSDN ⭐️⭐️⭐️:Github传送门 🍹 本人24应届生一枚,技术和水平有…

BST二叉搜索树

概念 二叉搜索树(Binary Search Tree,简称BST),又称为二叉排序树或二叉查找树,是一种特殊的二叉树数据结构。它具有以下基本性质: 节点的值的有序性:对于BST中的任意一个节点,其左…

交通 | 电动汽车车辆路径问题及FRVCP包的调用以及代码案例

编者按: 电动汽车的应用给车辆路线问题带来了更多的挑战,如何为给定路线行驶的电动汽车设计充电决策是一个需要解决的难题,本文介绍了开源python包frvcpy使用精确式算法对该问题求解。 文献解读:Aurelien Froger, Jorge E Mendo…

H.265 与 H.264 的主要区别

H.265 与 H.264 的主要区别 H.265 与 H.264 的主要区别各模块技术差异汇总宏块划分帧内预测模式帧间预测模式去块滤波ALF自适应环路滤波采样点自适应偏移(Sample Adaptive Offset)滤波并行化设计TileEntropy sliceDependent SliceWPP(Wavefro…

红米A2/A2+/POCO C51手机秒解BL+快速获取root权限+解谷歌锁刷机救砖教程

红米A2/A2/POCO C51手机是目前小米公司针对于国外用户的1个独立的品牌,或者和国内的红米手机都非常相似,几款手机由于硬件非常接近,我们这里将其放在一起和大家介绍而从他们的代号中我们可以得知,目前A2/POCO的代号为water&#x…

Text-to-SQL小白入门(12)Awesome-Text2SQL开源项目star破1000

项目介绍 项目地址 23年9月份刚开源这个项目,大半年过去了,star数终于破1000啦,决定在知乎更新一下内容,看看内容变化,知乎有上当时项目介绍的链接:追光者:Text-to-SQL小白入门(六&…

水稻病害检测(YOLO数据集,多分类,稻瘟病、纹枯病、褐斑病、枯心病、霜霉病、水稻细菌性条纹斑病、稻苞虫)

是自己利用LabelImg工具进行手工标注,数据集制作不易,请尊重版权(稻瘟病、纹枯病、褐斑病、枯心病、霜霉病、水稻细菌性条纹斑病、稻苞虫) 如果需要yolv8检测模型和数据集放在一起的压缩包,可以关注:最新最…