【java】使用maven完成一个servlet项目
一、创建项目
- 创建一个maven项目
-
maven是一个管理java项目的工具,根据maven的pom.xml可以引入各种依赖,插件。
- 步骤
-
打开idea,点击新建项目

-
点击创建项目,项目创建就完成了

进入时会自动打开pom.xml文件。
pom是项目的配置文件,后面会在这里修改配置
-
- 步骤
-
二、引入依赖
第一步只是创建好了项目,这个项目并没有任何和servlet相关的依赖,所以需要在pom文件中引入servlet相关的依赖
- 步骤
- 打开中央仓库网址Maven Repository

- 搜索servlet

- 选择对应版本

- 选中maven,复制全部代码

- 将代码粘贴在pom里面
先在pom里面创建dependencies标签,再将代码粘贴到标签里面

- 打开中央仓库网址Maven Repository
三、创建目录
为了让tomcat服务器知道那些文件值真正的webapp文件
- 步骤
- 在main目录下创建一个webapp目录
- 在webapp目录下创建一个WEB-INF目录
- 在WEB-INF目录下创建一个web.xml文件
- 最终目录结构如下

- 在web.xml中粘贴如下的固定配置文字
<!DOCTYPE web-app PUBLIC
"-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd" >
<web-app><display-name>Archetype Created Web Application</display-name>
</web-app>
四、编写代码
- 在java目录下新建一个java类,这个类要继承源自servlet依赖的HttpServlet类

- 重写doGet函数,这个函数就是当服务器接收到get方法的http请求时,服武器调用这个函数来构造响应http

它的参数有rqs和resp两个,rqs的内容是根据http请求包赋值的,resq是这个doGet方法需要赋值的对象。
3. 在类前面写下@WebServlet(“路径”)注解,路径就是当http请求访问这个路径时,会调用这个类的方法来构造响应。
五、手动打包
- 一般java里面的打包都是将一堆编译好的.class文件打包成一个.jar文件。
- 所以maven默认打包也是直接打包成.jar文件。
- 但是在打包webapp时,需要将.jar文件打包成.war文件。
- 此时需要配置maven将默认打包后缀改为war
-
首先在pom文件中配置一个packaging标签,内容设置为war

-
打包
-

打包成功之后,左边会出现一个target文件夹,里面就有打包好的war文件

六、手动部署
直接将war包复制,粘贴到tomcat的webapp目录下,然后启动tomcat服务器,看到服务器自动将war包解析出一个文件夹,就部署成功了
七、测试
在浏览器上输入120.0.0.1:8080/文件夹名/类前注释名 就能测试部署的网页能不能访问了

相关文章:
【java】使用maven完成一个servlet项目
一、创建项目 创建一个maven项目 maven是一个管理java项目的工具,根据maven的pom.xml可以引入各种依赖,插件。 步骤 打开idea,点击新建项目 点击创建项目,项目创建就完成了 进入时会自动打开pom.xml文件。 pom是项目的配置文件…...
前端Vue入门-day07-Vuex入门
(创作不易,感谢有你,你的支持,就是我前行的最大动力,如果看完对你有帮助,请留下您的足迹) 目录 自定义创建项目 vuex概述 构建 vuex [多组件数据共享] 环境 创建一个空仓库 state 状态 1. 提供数据&…...
2023再谈前端状态管理
目录 什么是状态管理? 状态 常见模式 要解决的问题 心智模型 React Context Context 的问题 优点 缺点 React 外部状态管理库 概览 Class 时代 Redux 单向数据流 三大原则 如何处理异步 如何处理数据间联动 优点 缺点 Dva icestore Mobx 设…...
ffmpeg SDL播放器--播放udp组播流
c调用ffmpeg api及SDL库播放播放udp组播流。 代码及工程见https://download.csdn.net/download/daqinzl/88168574 参考文档:https://blog.csdn.net/a53818742/article/details/109312740 开发工具:visual studio 2019 记得推送udp流,可采…...
__attribute__((noreturn))
GNU C 的一大特色就是__attribute__ 机制,__attribute__ 可以设置函数属性(Function Attribute)、变量属性(Variable Attribute)和类型属性(Type Attribute)。 语法格式为: __attribute__((att…...
遮挡边界处的深度补全和双曲面外推
论文地址:Depth Completion with Twin Surface Extrapolation at Occlusion Boundaries 论文代码:https://github.com/imransai/TWISE 深度补全是从稀疏的已知深度值开始,为其余图像像素估计未知深度。 大多数方法将其建模为深度插值&#x…...
LK-99室温超导激发万万亿市场,将对我们的生活产生哪些影响?
7月下旬,韩国量子能源研究中心公司相关研究团队在预印本网站上陆续公布两篇类似的论文,宣称一种命名为LK-99的铜掺杂铅磷灰石材料拥有“室温常压”超导能力,系全世界首款室温常压超导材料。 它们的实验方法比较简单,就是把铅、铜、…...
子集——力扣78
文章目录 题目描述法一 迭代法实现子集枚举题目描述 法一 迭代法实现子集枚举 class Solution {public:vector<int> t;vector<vector<...
【计算机视觉 | 目标检测 | 图像分割】arxiv 计算机视觉关于目标检测和图像分割的学术速递(8 月 2 日论文合集)
文章目录 一、检测相关(8篇)1.1 Explainable Cost-Sensitive Deep Neural Networks for Brain Tumor Detection from Brain MRI Images considering Data Imbalance1.2 MonoNext: A 3D Monocular Object Detection with ConvNext1.3 Detecting Cloud Presence in Satellite Ima…...
JDK中「SPI」原理分析
基于【JDK1.8】 一、SPI简介 1、概念 SPI即service-provider-interface的简写; JDK内置的服务提供加载机制,可以为服务接口加载实现类,解耦是其核心思想,也是很多框架和组件的常用手段; 2、入门案例 2.1 定义接口 …...
DSL:数字用户线路(Digital Subscriber Line)
一、基础释义 DSL(数字用户线路,Digital Subscriber Line)是一种用于传输数字数据的通信技术,允许数据在传统的电话线路(铜线)上进行高速传输。DSL技术通过将高频信号叠加在低频的语音信号上,使…...
Java集合ArrayList详解
ArrayList 类是一个可以动态修改的数组,与普通数组的区别就是它是没有固定大小的限制,我们可以添加或删除元素。 ArrayList 继承了 AbstractList ,并实现了 List 接口。 Java 数组 与 ArrayList 在Java中,我们需要先声明数组的大…...
React Dva项目 Model中编写与调用异步函数
上文 React Dva项目中模仿网络请求数据方法 中,我们用项目方法模拟了后端请求的数据 那么 今天我们就在models中尝试去使用一下这种异步获取数据的方法 之前 我们在文章 React Dva项目创建Model,并演示数据管理与函数调用 中已经接触过Model了 也可以理解为 它就是 …...
小程序自定义tabBar+Vant weapp
1.构建npm,安装Vant weapp: 1)根目录下 ,初始化生成依赖文件package.json npm init -y 2)安装vant # 通过 npm 安装 npm i vant/weapp -S --production 3)修改 package.json 文件 开发者工具创建的项…...
Dubbo+Zookeeper使用
说明:Apache Dubbo 是一款 RPC 服务开发框架,用于解决微服务架构下的服务治理与通信问题,官方提供了 Java、Golang 等多语言 SDK 实现。 本文介绍Dubbo的简单使用及一些Dubbo功能特性,注册中心使用的是ZooKeeper,可在…...
短视频平台视频怎么去掉水印?
短视频怎么去水印,困扰很多人,例如,有些logo水印,动态水印等等,分享操作经验: 抖音作为中国最受欢迎的社交娱乐应用程序之一,已成为许多人日常生活中不可或缺的一部分。在使用抖音过程中&#x…...
Stable Diffusion - Style Editor 和 Easy Prompt Selector 提示词插件配置
欢迎关注我的CSDN:https://spike.blog.csdn.net/ 本文地址:https://spike.blog.csdn.net/article/details/132122450 Style Editor 插件: cd extensions git clone https://ghproxy.com/https://github.com/chrisgoringe/Styles-Editor报错&…...
Stable Diffusion - SDXL 模型测试 (DreamShaper 和 GuoFeng v4) 与全身图像参数配置
欢迎关注我的CSDN:https://spike.blog.csdn.net/ 本文地址:https://spike.blog.csdn.net/article/details/132085757 图像来源于 GuoFeng v4 XL 模型,艺术风格是赛博朋克、漫画、奇幻。 全身图像是指拍摄对象的整个身体都在画面中的照片&…...
中介者模式(Mediator)
中介者模式是一种行为设计模式,可以减少对象之间混乱无序的依赖关系。该模式会限制对象之间的直接交互,迫使它们通过一个封装了对象间交互行为的中介者对象来进行合作,从而使对象间耦合松散,并可独立地改变它们之间的交互。中介者…...
SpringBoot使用@Autowired将实现类注入到List或者Map集合中
前言 最近看到RuoYi-Vue-Plus翻译功能 Translation的翻译模块配置类TranslationConfig,其中有一个注入TranslationInterface翻译接口实现类的写法让我感到很新颖,但这种写法在Spring 3.0版本以后就已经支持注入List和Map,平时都没有注意到这…...
新手入门:借助快马轻松构建你的第一个抖音更新分析应用
最近在学习抖音生态开发,发现版本更新分析是个挺有意思的切入点。作为新手,我尝试用InsCode(快马)平台搭建了一个简单的分析工具,整个过程比想象中顺利很多。这里记录下我的实践过程,希望能帮到同样刚入门的朋友。 项目构思 抖音每…...
Face Detection TFLite:5分钟掌握Python轻量级人脸检测实战
Face Detection TFLite:5分钟掌握Python轻量级人脸检测实战 【免费下载链接】face-detection-tflite Face and iris detection for Python based on MediaPipe 项目地址: https://gitcode.com/gh_mirrors/fa/face-detection-tflite 想要在Python中快速实现精…...
番茄小说下载器:一键将在线小说转为EPUB电子书
番茄小说下载器:一键将在线小说转为EPUB电子书 【免费下载链接】Tomato-Novel-Downloader 番茄小说下载器不精简版 项目地址: https://gitcode.com/gh_mirrors/to/Tomato-Novel-Downloader 你是否遇到过网络信号不稳定时无法追更小说?是否担心喜欢…...
终极指南:深度解析Ryujinx Switch模拟器的架构与性能调优
终极指南:深度解析Ryujinx Switch模拟器的架构与性能调优 【免费下载链接】Ryujinx 用 C# 编写的实验性 Nintendo Switch 模拟器 项目地址: https://gitcode.com/GitHub_Trending/ry/Ryujinx Ryujinx是一款用C#编写的开源Nintendo Switch模拟器,旨…...
遥感影像解译实战:从目视解译到智能分类的进阶之路
1. 遥感影像解译的基础认知 第一次接触遥感影像时,我被屏幕上那些五彩斑斓的色块彻底搞懵了。直到导师指着农田区域说"看这些规则的红色方格",我才恍然大悟——原来这就是标准假彩色合成下的植被特征。遥感影像解译本质上是在二维图像中还原三…...
3分钟解锁Steam游戏离线自由:SteamAutoCrack终极使用指南
3分钟解锁Steam游戏离线自由:SteamAutoCrack终极使用指南 【免费下载链接】Steam-auto-crack Steam Game Automatic Cracker 项目地址: https://gitcode.com/gh_mirrors/st/Steam-auto-crack 还在为Steam游戏必须联网验证而烦恼吗?当网络不稳定或…...
告别复杂配置:Phi-3-Mini-128K开箱即用,仿ChatGPT界面快速搭建对话工具
告别复杂配置:Phi-3-Mini-128K开箱即用,仿ChatGPT界面快速搭建对话工具 1. 项目简介 Phi-3-Mini-128K是一款基于微软Phi-3-mini-128k-instruct模型开发的轻量化对话工具,它彻底改变了传统大模型部署的复杂流程。这个工具最大的特点就是&quo…...
Windows苹果设备驱动终极指南:3分钟解决iPhone/iPad连接难题
Windows苹果设备驱动终极指南:3分钟解决iPhone/iPad连接难题 【免费下载链接】Apple-Mobile-Drivers-Installer Powershell script to easily install Apple USB and Mobile Device Ethernet (USB Tethering) drivers on Windows! 项目地址: https://gitcode.com/…...
JiYuTrainer:如何在不影响学习的前提下解除极域电子教室限制的3种方法
JiYuTrainer:如何在不影响学习的前提下解除极域电子教室限制的3种方法 【免费下载链接】JiYuTrainer 极域电子教室防控制软件, StudenMain.exe 破解 项目地址: https://gitcode.com/gh_mirrors/ji/JiYuTrainer 在数字化教学环境中,极域电子教室&a…...
终极指南:如何用BetterJoy让Switch手柄完美兼容PC游戏
终极指南:如何用BetterJoy让Switch手柄完美兼容PC游戏 【免费下载链接】BetterJoy Allows the Nintendo Switch Pro Controller, Joycons and SNES controller to be used with CEMU, Citra, Dolphin, Yuzu and as generic XInput 项目地址: https://gitcode.com/…...
