IDEA创建简单web(servlet)项目(server为tomcat)

引言

鉴于网上很少有关于IDEA开发servlet项目的教程(24版idea,并且servlet技术十分复古,很少有人用到,能够理解,该文章旨在为在校的学生提供一个参考,项目技术简单)本人在此总结从头开始到项目落地的教程。

IDEA配置

由于servlet技术过于老旧,在24版或者比较新的版本中是无法直接创建一个web项目的,于是我们需要做好前期的配置工作

  1. 添加框架支持:
    我们打开idea创建一个java项目,双击键盘shift键,弹出搜索框,如下:
    在这里插入图片描述

直接输入add,可以发现有:
在这里插入图片描述
点击添加框架支持,选择web applicat:
在这里插入图片描述
确定后,我们再来配置路径

  1. 配置路径
    我们先在web目录下创建两个目录:classes和lib
    在这里插入图片描述
    然后点击右上角四条横线位置:
    在这里插入图片描述
    选择项目结构(projec structure)
    进入后我们选择modules-paths
    在这里插入图片描述
    在下方配置我们的output path:
    在这里插入图片描述
    分别选择我们刚刚创建的web下的两个新目录,然后去到依赖(dependencies),使用servlet技术我们需要导入servlet1的api:

    点击+号,选择第一个导入jar包,选择你所下载好的tomcat文件,进入lib目录:
    在这里插入图片描述
    选择servlet-api:
    在这里插入图片描述

然后再点击+号,选择第二项library:
在这里插入图片描述

导入我们的服务器:
在这里插入图片描述

两个打勾后点击ok,正常情况下你会发现web目录下你所创建的两个新的目录变了颜色:
在这里插入图片描述

到这一步我们的项目环境以及搭建好了,但是当创建文件时右键会发现没有servlet这个选项,这是因为该技术以及过于老旧,idea没有将它放在默认的文件创建中,这时我们需要去到右上角设置:
在这里插入图片描述

editor中选择file and code templates,在other中选择web中的java code templates,第一个和第二个的servlet模板区别在与servlet版本的区别,在4.0前,servlet存在于javax中,4.0后的版本甲骨文创造了一个新的类Jakarta,读者可以根据自己的servlet版本来选择:
在这里插入图片描述
选择好后复制模板代码,来到files中,点击左上角+号,创建一个名为Servlet名的模板,将复制的模板代码粘贴到框中在这里插入图片描述
点击apply,这样,我们就可以在右键时创建servlet的文件了:

在这里插入图片描述
在这里插入图片描述

创建时会出现这个,也就是我上面所说的版本问题,javax或者Jakarta

3.Tomcat配置
回到我们创建的项目后,点击右上角:

在这里插入图片描述
会发现我们目前还没有服务器,我们点击edit configuration:
在这里插入图片描述
点击add new,选择tomcat server(注意不是tom ee server):
在这里插入图片描述

我们创建一个本地服务器,选择local:
在这里插入图片描述
下面的warning直接点击fix即可,然后apply-ok

如果你做到了这里,恭喜你,你已经完成我们框架的搭建,接下来根据你的项目需求完成代码运行即可。

提醒

值得注意的是,由于tomcat需要与servlet版本搭配,不然项目是跑不出来的,这里是官网的版本搭配链接:Apache Tomcat® - Which Version Do I Want?

在这里插入图片描述

可以发现servlet4.0最低版本的tomcat是9.0.x,读者这方面需要注意下。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

C数据结构:排序

目录 冒泡排序 选择排序 堆排序 插入排序 希尔排序 快速排序 hoare版本 挖坑法 前后指针法 快速排序优化 三数取中法 小区间优化 快速排序非递归 栈版本 队列版本 归并排序 归并排序非递归 ​编辑 计数排序 各排序时间、空间、稳定汇总 冒泡排序 void Bub…

学习grdecl文件格式之后的事情

学习了grdecl文件格式,搞地质的专业人士都知道,这是专门用在地质上的油藏软件(个人感觉就是斯伦贝谢的Petrel的)的一种文件格式,正好自己也在学习三维的开发,顺手写了一个简单的读取grdecl算法,…

[深度学习]使用python转换pt并部署yolov10的tensorrt模型封装成类几句完成目标检测加速任务

【简单介绍】 使用Python将YOLOv10模型从PyTorch格式(.pt)转换为TensorRT格式,并通过封装成类来实现目标检测加速任务,是一个高效且实用的流程。以下是该过程的简要介绍: 模型转换: 利用官方提供导出命令…

Roboflow 图片分类打标

今天准备找个图片标注工具,在网上搜了一下,看 Yolo 的视频中都是用 Roboflow 工具去尝试了一下,标注确实挺好用的,可以先用一些图片训练一个模型,随后用模型进行智能标注。我主要是做标注然后到处到本地进行模型的训练…

html是什么?http是什么?

html Html是什么?http是什么? Html 超文本标记语言;负责网页的架构; http((HyperText Transfer Protocol)超文本传输协议; https(全称:Hypertext Transfer Protocol …

Linux 基本指令2

cp 指令 cp[选项]源文件 目标文件 将源文件的内容复制到目标文件中,源文件可以有多个,最后一个文件为目标文件,目标文件也可以是一段路径,若目的地不是一个目录的话会拷贝失败。若没有路径上的目录则会新建一个,若源是…

.NET MAUI Sqlite数据库操作(一)

一、安装 NuGet 包 安装 sqlite-net-pcl 安装 SQLitePCLRawEx.bundle_green 二、配置数据库(数据库文件名和路径) namespace TodoSQLite; public static class Constants {public const string DatabaseFilename "TodoSQLite.db3";//数据库…

MonoNodes – LOOK / LAB / PRINT DCTLS 复古美学柯达富士胶片负片模拟电影感DCTL达芬奇插件

MonoNodes – LOOK / LAB / PRINT DCTLS,我们包装中的“MONOLOOK”DCTL 的灵感来自柯达和富士的经典胶片美学。这些工具提供了三种特定的负片仿真,每种都经过精心设计,以捕捉模拟胶片的独特色彩质量。它们专为希望将胶片的永恒魅力与数字传感…

文心智能体体验,打造你自己的GPTs应用

利用百度智能体搭建的《RPG冒险游戏大作战》已经发布啦! RPG冒险游戏大作战 玩家扮演一位小小勇士女孩,从被巨龙毁灭的冒险小镇出发,一路披荆斩棘,集齐四件神器后,打败巨龙,夺回小镇的安宁! 整…

ESP32s3与Lsm6ds3通信---i2c【开源】

接线 ESPS3&#xff0c;I2C的初始化 #ifdef __cplusplus extern "C" { #endif #define I2C_MASTER_SCL_IO CONFIG_I2C_MASTER_SCL /*!< GPIO number used for I2C master clock */ #define I2C_MASTER_SDA_IO CONFIG_I2C_MASTER_SDA …

深度学习笔记: 最详尽Airbnb租赁搜索排名设计

欢迎收藏Star我的Machine Learning Blog:https://github.com/purepisces/Wenqing-Machine_Learning_Blog。如果收藏star, 有问题可以随时与我交流, 谢谢大家&#xff01; Airbnb租赁搜索排名 1. 问题陈述 Airbnb用户在特定地点搜索可用房源。系统应在搜索结果中对多个房源进…

短剧APP开发,线上观看短剧成为“主流”

短剧作为一种新型的影视模式&#xff0c;热度持续飙升&#xff0c;受到了大众的欢迎&#xff0c;成为影视行业一个新的风口赛道。短剧时长短、节奏快、剧情爽&#xff0c;在当下快节奏生活中&#xff0c;能够给大众带来娱乐消遣新方式。 短剧题材丰富多样&#xff0c;从总裁、…

vlc多媒体播放器(支持各种本地视频、网络视频、音频及摄像头直播地址)winform(支持全屏)自动适应x86、x64平台插件及重要代码

1、学习vlcControl1及libvlc.dll类方法(x86为例)最新v3.0.21 1.1 本博文以控件(vlcControl1)方式为主介绍 1.2 安装-引用,添加控件到窗体 using Vlc.DotNet.Forms; 1.3 窗体布局、编写代码 打开文件(以本地媒体文件为主)打开地址(以网络媒体地址为主)播放|暂停功能停…

【数据结构】双向链表(C语言)

哈喽铁子们&#xff0c;这里是博主鳄鱼皮坡。这篇文章将分享交流双向链表的相关知识&#xff0c;下面正式开始。 1. 双向链表的结构 注意&#xff1a;这里的“带头”跟前面我们说的“头节点”是两个概念&#xff0c;实际前面的在单链表阶段称呼不严 谨&#xff0c;但是为了老…

如何利用智能家居打造一个“会呼吸的家”?一体化电动窗帘

如何利用智能家居打造一个“会呼吸的家”&#xff1f;一体化电动窗帘 史新华 隐藏式一体化智能电动窗帘与市面上其他窗帘不同的是&#xff0c;电机内置于轨道之中&#xff0c;一体化&#xff0c;美观、安静、滑动顺畅。 每次都会自动打开和关闭&#xff0c;相当漂亮。 众多家庭…

AI驱动的“黑匣子”可能使手术更安全

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗&#xff1f;订阅我们的简报&#xff0c;深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同&#xff0c;从行业内部的深度分析和实用指南中受益。不要错过这个机会&#xff0c;成为AI领…

树莓派4B_OpenCv学习笔记6:OpenCv识别已知颜色_运用掩膜

今日继续学习树莓派4B 4G&#xff1a;&#xff08;Raspberry Pi&#xff0c;简称RPi或RasPi&#xff09; 本人所用树莓派4B 装载的系统与版本如下: 版本可用命令 (lsb_release -a) 查询: Opencv 版本是4.5.1&#xff1a; 学了这些OpenCv的理论性知识&#xff0c;不进行实践实在…

0603 BJT射极耦合差分式放大电路

6.2.3 BJT射极耦合差分式放大电路 电路组成 静态分析 动态分析 仅差模信号输入时 双端输出时电压增益 单端输出时电压增益 单端输入时 差模输入电阻 输出电阻 仅共模信号输入时 带有源负载的射极耦合差分式放大电路

Hvv--知攻善防应急响应靶机--Linux1

HW–应急响应靶机–Linux1 所有靶机均来自 知攻善防实验室 靶机整理&#xff1a; 夸克网盘&#xff1a;https://pan.quark.cn/s/4b6dffd0c51a#/list/share百度云盘&#xff1a;https://pan.baidu.com/s/1NnrS5asrS1Pw6LUbexewuA?pwdtxmy 官方WP&#xff1a;https://mp.weixin.…

【每日一题】二进制中1的个数

二进制中1的个数 ✨ 思路&#xff1a;要求的是一个整形的数&#xff0c;其二进制的位数中有几个1 ✨二进制位就想到了按位操作符&#xff0c;和位移操作符都是对二进制位进行操作的 &1 可以检查最低位是0还是1 移位>>就可以控制最低位的位置&#xff0c;我们让最…