创建maven的web项目
(一)创建maven的web项目
Step1、创建一个普通的maven项目
(1)新建一个empty project,命名为SSM2。
点击项目名,右键new,选择Module,左侧选择“Maven archetype”,可以给项目命名为mavenWeb,然后是点击下方add archetype,设置它的gav:
(2)自己新建项目结构如图所示:

Step 2、设置打包方式为war(默认是jar)
在pom.xml文件中增加一条:
<!--设置打包方式为war-->
<packaging>war</packaging>
Step3、手动创建web.xml
(1)点击左上角File,选择“Project Structure”,选择“Modules”,找到我们新建的项目名“MavenWeb”,在右边第一个点+号,修改下路径:在项目名与WEB-INF之间加上\src\main\webapp,再点击确定。
点击apply,再点击ok,即可成功创建。
这时看项目结构多了一个webapp文件夹:

(二)测试web项目
1、在webapp文件夹下新建index.html:
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>首页</title>
</head>
<body><h1>首页</h1><a href="hello">Hello</a>
</body>
</html>
然后准备写一个servlet请求,先在pom.xml中导入servlet的相关依赖:
<dependencies><dependency><groupId>javax.servlet</groupId><artifactId>javax.servlet-api</artifactId><version>4.0.1</version><scope>provided</scope></dependency></dependencies>
2、在main的java文件夹下新建servlet文件夹,在里面新建HelloServlet处理类:
@WebServlet(value = "/hello")
public class HelloServlet extends HttpServlet {@Overrideprotected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {System.out.println("HelloServlet...");response.getWriter().write("success");}@Overrideprotected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {}
}
3、然后配置服务器
右上角点击“Add Configuration”,点击+号,找到Tomcat,点击local,点击fix,进到页面要点击+号,点击Arti…,找到这个war exploded…:

点击apply,点击ok。
然后就可以启动服务器了:

点击“Hello”这个超链接,跳转输出:

(三)补充
1、要导入桌面的maven项目mavenWeb2怎么办?(外部导入maven项目)
在左上角点击File,点击project structure,选择Modules,选择+号,选择import module,选中桌面的项目mavenWeb2,选择import module from…,选择下面的Maven:
然后一直点击OK即可导入。
2、去哪里下载需要的依赖?
到酷站:https://mvnrepository.com,在搜索栏中搜索需要的依赖例如mybatis等,找到版本点进去,就可以看到对应的maven代码了,复制过来(单击即可复制)粘贴到pom.xml文件即可。

相关文章:
创建maven的web项目
(一)创建maven的web项目 Step1、创建一个普通的maven项目 (1)新建一个empty project,命名为SSM2。 点击项目名,右键new,选择Module,左侧选择“Maven archetype”,可以给…...
使用uniapp开发系统懒加载图片效果
1、创建一个Vue组件 在uniapp项目中,我们可以创建一个独立的Vue组件来实现懒加载图片效果。打开uniapp项目,进入components文件夹,创建一个名为"LazeImage"的组件。 2、编写组件模板 在"LazeImage"组件中,…...
导入PIL时报错
在导入PIL时,报以下错误: 查找原因 参考博客 Could not find a version that satisfies the requirement PIL (from versions: ) No matching distributi-CSDN博客,按照wheel后,安装PIL时,报如下的错误。 查找说是python版本与wheel文件版本不同,确认本机python版本 …...
MyBatis Generator 插件 详解自动生成代码
MyBatis Generator(MBG)是MyBatis和iBATIS的代码生成器。可以生成简单CRUD操作的XML配置文件、Mapper文件(DAO接口)、实体类。实际开发中能够有效减少程序员的工作量,甚至不用程序员手动写sql。 它将为所有版本的MyBatis以及版本2.2.0之后的i…...
SkyWalking全景解析:从原理到实现的分布式追踪之旅
🎏:你只管努力,剩下的交给时间 🏠 :小破站 SkyWalking全景解析:从原理到实现的分布式追踪之旅 前言第一:SkyWalking简介第二:实现原理概览第三:主键与架构第四࿱…...
新手如何买卖可转债,可转债投资基础入门
一、教程描述 什么是可转债?可转债是可转换债券的二次简称,原始全称是可转换公司债券,这是一种可以在特定时间、按特定条件,转换为普通股票的特殊企业债券,可转换债券兼具债权和股权的特征,其英文为conver…...
研习代码 day39 | 动态规划——完全背包的应用
一、爬楼梯(进阶版) 1.1 题目 题目描述 假设你正在爬楼梯。需要 n 阶你才能到达楼顶。 每次你可以爬至多m (1 < m < n)个台阶。你有多少种不同的方法可以爬到楼顶呢? 注意:给定 n 是一个正整数。 输入描述 输入共一…...
Rust语言入门教程(五) - 流控制语句
if 表达式 在Rust中, if语句的判断条件不需要用( )括起来, 它会认为所有在if 和 {之间的表达式就是判断条件,例如: if num 5 {msg "five"; }判断条件的表达式必须返回一个bool型的值, 因为Rust是一个不喜…...
字符串:leetcode1410. HTML 实体解析器
1410. HTML 实体解析器 「HTML 实体解析器」 是一种特殊的解析器,它将 HTML 代码作为输入,并用字符本身替换掉所有这些特殊的字符实体。 HTML 里这些特殊字符和它们对应的字符实体包括: 双引号:字符实体为 " ÿ…...
springboot+vue项目如何集成onlyoffice开源文档组件
一、onlyoffice是什么 ONLYOFFICE 是一个开源的办公套件,适合多人在线协作。由总部位于总部在拉脱维亚的 IT 公司Acensio System SIA 开发。它提供在线协作文档编辑器(包括文档、电子表格、演示文稿和表单),适用于 Windows、Linu…...
Android okhttp3.0配置https信任所有证书
参考: Android okhttp3.0配置https的自签证书和信任所有证书 private OkHttpClient getHttpsClient() {OkHttpClient.Builder okhttpClient new OkHttpClient().newBuilder();//信任所有服务器地址okhttpClient.hostnameVerifier(new HostnameVerifier() {Overridepublic boo…...
大数据基础设施搭建 - Hive
文章目录 一、上传压缩包二、解压压缩包三、配置环境变量四、初始化元数据库4.1 配置MySQL地址4.2 拷贝MySQL驱动4.3 初始化元数据库4.3.1 创建数据库4.3.2 初始化元数据库 五、启动元数据服务metastore5.1 修改配置文件5.2 启动/关闭metastore服务 六、启动hiveserver2服务6.1…...
手把手教你安装 Visual Studio 2022 及其简单使用
软件下载 打开 Visual Studio 官网,个人选择免费的Community社区版就够用了。 软件安装 双击运行安装程序: 点击继续 即可: 等待加载完成: 可以看到 Visual Studio 2022 对应不同的开发需求提供了若干工作负载,这里以…...
在MySQL中,修改字段A相同的记录的字段B ,要使得字段C小的记录的字段B值等于字段C大的记录的字段B值
例如:更新具有相同电话号码的用户记录,使得updatetime小的记录的name值等于updatetime大的记录的name值。 首先,我们需要创建一个用户表,这个用户表包含以下字段:phone,updatetime, name。以下是创建这个表…...
Java WebSocket 客户端接收大量数据
介绍 WebSocket 是一种基于 TCP 协议的全双工通信协议,它能够在客户端和服务器之间建立一个持久连接,实现实时的双向数据传输。在实际应用中,有时候我们需要处理大量的数据,例如实时监控系统或者实时股票行情等。本文将介绍如何使…...
QT 在Windows下实现ping功能(ICMP)
前言 很多时候,我们可能会图省事直接调用系统中的ping命令,但这是很不科学的~ 废话不多说,直接上代码.. .pro文件 在.pro文件末尾添加一行: LIBS -liphlpapi -lws2_32 .h文件 在.h文件中加入: #include <Q…...
harmonyos应用开发者高级认证考试部分答案
1只要使用端云一体化的云端资源就需要支付费用(错) 2所有使用Component修饰的自定义组件都支持onPageShow,onBackPress和onPageHide生命周期函数。(错) 3 HarmonyOS应用可以兼容OpenHarmony生态(对&#…...
基于 STM32Cube.AI 的嵌入式人脸识别算法实现
本文介绍了如何使用 STM32Cube.AI 工具开发嵌入式人脸识别算法。首先,我们将简要介绍 STM32Cube.AI 工具和 STM32F系列单片机的特点。接下来,我们将详细讨论如何使用 STM32Cube.AI 工具链和相关库来进行人脸识别算法的开发和优化。最后,我们提…...
ElasticSearch之cat allocation API
查看各节点上各个shard的硬件使用情况,命令样例如下: curl -X GET "https://localhost:9200/_cat/allocation?vtrue&pretty" --cacert $ES_HOME/config/certs/http_ca.crt -u "elastic:ohCxPHQBEs5*lo7F9"执行结果如下&#x…...
Vue + Element UI 实现复制当前行数据功能(复制到新增页面组件值不能更新等问题解决)
1、需求 使用Vue Element UI 实现在列表的操作栏新增一个复制按钮,复制当前行的数据可以打开新增弹窗后亦可以跳转到新增页面,本文实现为跳转到新增页面。 2、实现 1)列表页 index.vue <el-table> <!-- 其他列 --> <el-t…...
nli-MiniLM2-L6-H768应用落地:电商评论情感推理与法律条款矛盾检测实战
nli-MiniLM2-L6-H768应用落地:电商评论情感推理与法律条款矛盾检测实战 1. 模型简介与核心优势 nli-MiniLM2-L6-H768是一个专为自然语言推理(NLI)与零样本分类设计的轻量级交叉编码器(Cross-Encoder)模型。它在保持高性能的同时,提供了更小的模型体积和…...
LiquidAI LFM2-2.6B-GGUF部署指南:4GB内存MacBook/NUC设备实测成功
LiquidAI LFM2-2.6B-GGUF部署指南:4GB内存MacBook/NUC设备实测成功 1. 项目介绍 LFM2-2.6B-GGUF是由Liquid AI公司开发的大语言模型,经过GGUF量化处理后特别适合资源有限的设备运行。这个模型最吸引人的特点是它能在4GB内存的设备上流畅运行࿰…...
机器人声学验证技术:非侵入式行为监测方案
1. 机器人工作流的声学验证技术解析 在工业自动化、医疗手术和仓储物流等关键领域,机器人系统的行为可靠性直接关系到生产安全和运营效率。传统验证方法通常依赖机器人内置的传感器数据,但这些数据可能被恶意篡改或受到系统故障的影响。我们团队开发的Wa…...
epoll_ctl
1 是什么? epoll_ctl 是 Linux 下高性能 I/O 多路复用(I/O Multiplexing)机制 epoll 的核心控制函数。 你可以把它理解为管理 epoll 监控列表的 "控制中心", 主要作用就是用来 添加、修改或删除 那些被监控的文件描述…...
A-RAG 解读:能做好混合检索策略的RAG,才是真 Agentic RAG
市面上的 RAG 系统,不管叫什么名字,本质上只有两种做法: 第一种,一次性检索。把用户的 query 向量化,从语料库里捞出 Top-K 个文档片段,拼成一个大 prompt 塞给模型。GraphRAG、HippoRAG、LightRAG 都属于…...
量子纠错与表面码在QCCD架构中的实现与优化
1. 量子纠错与表面码基础解析量子计算的核心挑战在于量子比特的脆弱性——环境噪声会导致量子态退相干,使得计算过程不可靠。量子纠错(QEC)技术通过将逻辑量子比特编码在多个物理量子比特上,实现了对错误的检测和纠正。表面码&…...
3步上手CoolProp:开源热力学计算库的完全指南
3步上手CoolProp:开源热力学计算库的完全指南 【免费下载链接】CoolProp Thermophysical properties for the masses 项目地址: https://gitcode.com/gh_mirrors/co/CoolProp 还在为工程计算中的流体物性数据烦恼吗?CoolProp作为一个开源的热物理…...
为什么你的EF Core 10向量查询比原生SQL慢47倍?——基于IL重写与Span<T>向量化执行的底层优化白皮书
第一章:EF Core 10向量搜索扩展的性能瓶颈本质剖析EF Core 10 引入的向量搜索扩展(如 VectorSearch API)虽简化了语义相似性检索的开发流程,但其底层执行模型暴露出若干结构性性能瓶颈。这些瓶颈并非源于算法本身,而是…...
哪些降重工具在降低ChatGPT生成内容的AIGC疑似AI率效果显著?告别 AI率高、学校检测稳过
2026 年高校毕业论文AI 检测全面严审,知网、维普、万方全部升级 AIGC 识别算法,专门抓 ChatGPT 生成文本的句式模板感、逻辑平滑度、表达范式三大 AI 特征。很多同学用 ChatGPT 写完初稿,AIGC 率直接60%~80% 红标超标,普通同义词改…...
量子密钥分发技术:CV-QKD原理与动态信道优化
1. 量子密钥分发技术背景与挑战量子密钥分发(QKD)作为量子信息科学的重要应用,其安全性建立在量子力学基本原理之上,而非传统密码学所依赖的计算复杂度假设。在众多QKD实现方案中,连续变量量子密钥分发(CV-…...
