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

news2024/10/7 12:28:54

引言

鉴于网上很少有关于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,读者这方面需要注意下。

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

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

相关文章

MATLAB算法实战应用案例精讲-【数模应用】有序Logit(Logistic)分析

目录 算法原理 logit回归分析步骤 二元logit分析 多分类logit分析 有序logit分析 总结 SPSS 1、问题与数据 2、对数据结构的分析 3、SPSS分析方法 SPSSAU 有序Logit回归案例 1、背景 2、理论 3、操作 4、SPSSAU输出结果 5、文字分析 6、剖析 疑难解惑 提示…

Joplin Typora 粘贴图片 | 当使用Typora作为Joplin编辑器时,如何粘贴图片并上传到Joplin服务器,替换链接

一、背景 当我们使用Joplin时,上传图片时会自动上传到Joplin服务器并替换链接 但是Joplin的编辑器不好用,我更习惯用Typora来编辑, 然而Typora中上传的图片只能在本地,无法上传到Joplin服务器,在其他客户端也看不到图片…

迈向『闭环』| PlanAgent:基于MLLM的自动驾驶闭环规划新SOTA!

中科院自动化所深度强化学习团队联合理想汽车等提出了一种新的基于多模态大语言模型MLLM的自动驾驶闭环规划框架—PlanAgent。该方法以场景的鸟瞰图和基于图的文本提示为输入,利用多模态大语言模型的多模态理解和常识推理能力,进行从场景理解到横向和纵向…

若依RuoYi-Vue分离版—免登录直接访问

若依RuoYi-Vue分离版—免登录直接访问 如何不登录直接访问前端:后端:方法1:在SecurityConfig.java中设置httpSecurity配置匿名访问方法2:在对应的方法或类上面使用Anonymous注解。 如何不登录直接访问 官网有说明:如何不登录直接…

pyechart 创建柱形图

Pyecharts 是一个基于 Python 的开源数据可视化库,用于创建各种交互式的图表和可视化效果。它是在 Echarts 的基础上进行封装和优化,Echarts 是一个流行的 JavaScript 数据可视化库pyecharts 中文网站 : https://pyecharts.org/# pyecharts 模块 还支持…

day35| 860.柠檬水找零 406.根据身高重建队列 452. 用最少数量的箭引爆气球

文章目录 前言860.柠檬水找零思路方法一 406.根据身高重建队列思路方法一 452. 用最少数量的箭引爆气球思路方法一 总结 前言 860.柠檬水找零 思路 很简单,贪心只有一个,如果20优先用105找零,因为5更加万能一些 方法一 class Solution(ob…

RabbitMQ实践——配置Prometheus和Grafana报表

大纲 启用rabbitmq_prometheus插件安装启动Prometheus创建用户下载并解压修改配置启动 安装启动grafana安装启动配置数据源 在《RabbitMQ实践——在Ubuntu上安装并启用管理后台》中我们已经安装成功RabbitMQ及其管理后台。在此基础上,我们将打通它和Prometheus、Gra…

26.0 Http协议

1. http协议简介 HTTP(Hypertext Transfer Protocol, 超文本传输协议): 是万维网(WWW: World Wide Web)中用于在服务器与客户端(通常是本地浏览器)之间传输超文本的协议.作为一个应用层的协议, HTTP以其简洁, 高效的特点, 在分布式超媒体信息系统中扮演着核心角色. 自1990年提…

Python图像处理——基于Pytorch框架ResNet152特征提取的MNIST手写数字识别

1. 数据集介绍 MNIST手写数字数据集: http://yann.lecun.com/exdb/mnist/ MNIST 数据集一共有 7 万张图片,其中 6 万张是训练集, 1 万张是测试集。每张图片是 28 28 的 0−9 的手写数字图片组成。每个图片是黑底白字的形式,黑底…

【全开源】餐饮点餐小程序源码(ThinkPHP+FastAdmin+Uniapp)

🍽️餐饮点餐小程序:让美食触手可及 一款基于ThinkPHPFastAdminUniapp开发的点餐小程序,支持单人点餐,还满足多人协同点餐(高级授权),支持多门店管理,并提供先吃后付和先付后吃两种支付方式。​ &#x1…

桌面应用开发框架比较:Electron、Flutter、Tauri、React Native 与 Qt

在当今快速发展的技术环境中,对跨平台桌面应用程序的需求正在不断激增。 开发人员面临着选择正确框架之挑战,以便可以高效构建可在 Windows、macOS 和 Linux 上无缝运行的应用程序。 在本文中,我们将比较五种流行的桌面应用程序开发框架&…

C#开源项目推荐:Watt Toolkit跨平台游戏工具箱支持github网络加速

Watt Toolkit是一个开源跨平台的多功能游戏工具箱,主要专注于增强玩家在Steam平台上的游戏体验及国外网站平台加速。 主要功能 兼容性 用户数据 团队背景 github加速功能 使用方法:用户只需在Watt Toolkit中启用网络加速功能,并选择对Gi…

揭秘Netflix背后的魔法:如何用三层架构打造个性化推荐帝国

推荐系统就像一家餐厅的菜单推荐 想象一下,你走进一家餐厅,面对琳琅满目的菜单,不知道点什么好。这时候,服务员给你推荐了几道菜,这些推荐是基于你以往的口味偏好和其他顾客的选择。Netflix的推荐系统也是类似的&…

Matlab图像处理——细胞图像的分割和计数显示

一. 项目介绍 使用MATLAB编写的细胞图像分割及计数系统,实现了对图像内细胞的计数,以及对每个细胞周长和面积的测量,并分别展示了分割后的每个细胞的图像。实验步骤共分为图像预处理、图像预分割、空洞填充、黏连细胞分割、细胞个数统计、细胞…

计算机毕业设计师hadoop+spark+hive知识图谱医生推荐系统 医生数据分析可视化大屏 医生爬虫 医疗可视化 医生大数据 机器学习 大数据毕业设计

流程: 1.Python爬虫采集中华健康网约10万医生数据,最终存入mysql数据库; 2.使用pandasnumpy/hadoopmapreduce对mysql中的医生数据进行数据分析,使用高德地图解析地理位置,并将结果转入.csv文件同时上传到hdfs文件系统&…

易天全面搭建ERP和MES系统:推进数字化转型的战略布局

在数字化浪潮的推动下,企业对于提高生产效率、优化资源配置、降低运营成本的需求日益迫切。ERP管理软件像一条纽带,将采购、生产、成本、库存、分销、运输、财务、人力资源进行规划,从而达到最佳资源组合,取得最佳效益。早在2019年…

MyBatis进行模糊查询时SQL语句拼接引起的异常问题

项目场景: CRM项目,本文遇到的问题是在实现根据页面表单中输入条件,在数据库中分页模糊查询数据,并在页面分页显示的功能时,出现的“诡异”bug。 开发环境如下: 操作系统:Windows11 Java&#…

vite构建的ts项目配置src别名@

一、安装types/node npm install types/node 二、vite.config.ts 文件中配置以下内容 resolve: {alias: {: path.resolve(__dirname, ./src),},}, 三、 tsconfig.json 文件中compilerOptions下配置以下内容 /* 配置 */"baseUrl": ".","paths":…

创新共享经济:探索Web3对新商业模式的启迪

随着Web3时代的到来,我们正在见证着一场数字经济的革命。在这个革命中,区块链技术作为一种基础设施,正为创新的共享经济模式提供新的契机。本文将深入探讨Web3对新商业模式的启迪,以及如何借助区块链技术构建更加开放、公平、高效…

8.使用包、crate和模块

目录 一、简单概念二、crate和包2.1 crate规则2.2 包规则2.3 Cargo的遵循的一些约定2.4 控制模块的作用域和私有性1) 模块2)引用模块树中的项3)使用 super 起始的相对路径4) 公有结构体和枚举 三、use关键字的使用四、分割模块进入不同的文件 一、简单概…