【java】使用maven完成一个servlet项目

news2024/12/23 4:52:18

一、创建项目

  1. 创建一个maven项目
    • maven是一个管理java项目的工具,根据maven的pom.xml可以引入各种依赖,插件。

      • 步骤
        1. 打开idea,点击新建项目
          创建maven项目

        2. 点击创建项目,项目创建就完成了

          进入时会自动打开pom.xml文件。
          pom是项目的配置文件,后面会在这里修改配置

二、引入依赖

第一步只是创建好了项目,这个项目并没有任何和servlet相关的依赖,所以需要在pom文件中引入servlet相关的依赖
  • 步骤
    1. 打开中央仓库网址Maven Repository
      在这里插入图片描述
    2. 搜索servlet
      在这里插入图片描述
    3. 选择对应版本
      在这里插入图片描述
    4. 选中maven,复制全部代码
      在这里插入图片描述
    5. 将代码粘贴在pom里面
      先在pom里面创建dependencies标签,再将代码粘贴到标签里面
      在这里插入图片描述

三、创建目录

为了让tomcat服务器知道那些文件值真正的webapp文件

  • 步骤
    1. 在main目录下创建一个webapp目录
    2. 在webapp目录下创建一个WEB-INF目录
    3. 在WEB-INF目录下创建一个web.xml文件
    • 最终目录结构如下
      在这里插入图片描述
    1. 在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>

四、编写代码

  1. 在java目录下新建一个java类,这个类要继承源自servlet依赖的HttpServlet类
    在这里插入图片描述
  2. 重写doGet函数,这个函数就是当服务器接收到get方法的http请求时,服武器调用这个函数来构造响应http在这里插入图片描述

它的参数有rqs和resp两个,rqs的内容是根据http请求包赋值的,resq是这个doGet方法需要赋值的对象。
3. 在类前面写下@WebServlet(“路径”)注解,路径就是当http请求访问这个路径时,会调用这个类的方法来构造响应。在这里插入图片描述

五、手动打包

  • 一般java里面的打包都是将一堆编译好的.class文件打包成一个.jar文件。
  • 所以maven默认打包也是直接打包成.jar文件。
  • 但是在打包webapp时,需要将.jar文件打包成.war文件。
  • 此时需要配置maven将默认打包后缀改为war
    1. 首先在pom文件中配置一个packaging标签,内容设置为war在这里插入图片描述

    2. 打包

在这里插入图片描述
打包成功之后,左边会出现一个target文件夹,里面就有打包好的war文件
在这里插入图片描述

六、手动部署

直接将war包复制,粘贴到tomcat的webapp目录下,然后启动tomcat服务器,看到服务器自动将war包解析出一个文件夹,就部署成功了在这里插入图片描述

七、测试

在浏览器上输入120.0.0.1:8080/文件夹名/类前注释名 就能测试部署的网页能不能访问了

在这里插入图片描述

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

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

相关文章

首次尝试鸿蒙开发!

今天是我第一次尝试鸿蒙开发&#xff0c;是因为身边的学长有搞这个的&#xff0c;而我也觉得我也该拓宽一下技术栈&#xff01; 首先配置环境&#xff0c;唉~真的是非常心累&#xff0c;下载一个DevEco Studio 3.0.0.993&#xff0c;然后配置环境变量这些操作不用多说&#xff…

LAXCUS分布式操作系统引领科技潮流,进入百度首页

信息源自某家网络平台&#xff0c;以下原样摘抄贴出。 随着科技的飞速发展&#xff0c;分布式操作系统做为通用基础平台&#xff0c;为大数据、高性能计算、人工智能提供了强大的数据和算力支持&#xff0c;已经成为了当今计算机领域的研究热点。近日&#xff0c;一款名为LAXCU…

ATFX汇市月报:7月美联储坚定加息,8月成利率决议空档期

7月汇市行情回顾—— 7月份&#xff0c;美元指数下跌1.01%&#xff0c;收盘在101.88点&#xff0c; 欧元升值0.76%&#xff0c;收盘价1.0997点&#xff1b; 日元升值1.41%&#xff0c;收盘价142.27点&#xff1b; 英镑升值1.08%&#xff0c;收盘价1.2835点&#xff1b; 瑞…

前端代码规范-2分钟教会你在nodejs中使用eslint定制团队代码规范

ESlint 是什么&#xff1f; ESlint官网 官网是这么写的&#xff1a; ESLint 是一个可配置的 JavaScript 检查器。 它可以帮助你发现并修复 JavaScript 代码中的问题。 问题可以是任何东西&#xff0c;从潜在的运行时错误&#xff0c;到不遵循最佳实践&#xff0c;再到风格问…

AWS——02篇(AWS之服务存储EFS在Amazon EC2上的挂载——针对EC2进行托管文件存储)

AWS——02篇&#xff08;AWS之服务存储EFS在Amazon EC2上的挂载——针对EC2进行托管文件存储&#xff09; 1. 前言2. 关于Amazon EFS2.1 Amazon EFS全称2.2 什么是Amazon EFS2.3 优点和功能2.4 参考官网 3. 创建文件系统3.1 创建 EC2 实例3.2 创建文件系统 4. 在Linux实例上挂载…

【CSS】视频文字特效

效果展示 index.html <!DOCTYPE html> <html><head><title> Document </title><link type"text/css" rel"styleSheet" href"index.css" /></head><body><div class"container"&g…

偶数科技与白鲸开源完成兼容性认证

近日&#xff0c;偶数科技自主研发的云原生分布式数据库 OushuDB v5.0 完成了与白鲸开源集成调度工具 WhaleStudio v2.0 的兼容性相互认证测试。 测试结果显示&#xff0c;双方产品相互良好兼容&#xff0c;稳定运行、安全&#xff0c;同时可以满足性能需求&#xff0c;为企业级…

2023-08-01 python根据x轴、y轴坐标(数组)在坐标轴里画出曲线图,python 会调用鼎鼎大名的matlib,用来分析dac 数据

一、python 源码如下 import numpy as np import matplotlib as mpl import matplotlib.pyplot as plt#x[0 ,1,2,3,5,6,10] #y[0,0,3,4,5,7,8]# { 0 , 1 , 0x0003 },// 0 # { 0XFFFF * 1 / 10 , 3006 , 0x0a6b },// 1 # { 0XFFFF * 2 / 10 , 599…

由于找不到MSVCP140.dll是什么意思?需要如何解决?

MSVCP140.dll是一个重要的动态链接库文件&#xff0c;它是Microsoft Visual C Redistributable for Visual Studio 2015的一部分。在运行某些程序或游戏时&#xff0c;如果你的计算机上缺少了MSVCP140.dll文件&#xff0c;可能会遇到错误提示。在这篇文章中&#xff0c;我们将详…

leetcode212. 单词搜索 II(java)

单词搜索 II 单词搜索 II题目描述解题 回溯算法代码演示 回溯算法 单词搜索 II leetcode212 题 难度 困难 leetcode212. 单词搜索 II 题目描述 给定一个 m x n 二维字符网格 board 和一个单词&#xff08;字符串&#xff09;列表 words&#xff0c; 返回所有二维网格上的单词 。…

苍穹外卖day12(完结撒花)——工作台+Spring_Apche_POI+导出运营数据Excel报表

工作台——需求分析与设计 产品原型 接口设计 工作台——代码导入 将提供的代码导入对应的位置。 工作台——功能测试 Apache POI_介绍 应用场景 Apache POI_入门案例 导入坐标 <!-- poi --><dependency><groupId>org.apache.poi</groupId><ar…

图解架构 | SaaS、PaaS、IaaS/aPaaS平台是什么?aPaaS与PaaS有什么区别?

参考 图解架构 | SaaS、PaaS、IaaS:https://www.51cto.com/article/717315.html aPaaS平台是什么&#xff1f;aPaaS与PaaS有什么区别&#xff1f;&#xff1a;https://developer.aliyun.com/article/718714 aPaaS和PaaS的区别是什么&#xff1f; aPaaS和PaaS都可以完成软件的…

06-向量的更多术语和表示法

向量 引入的概念&#xff1a;向量就是一组有序的数字, 我们在理解它的时候&#xff0c; 可以把它理解成是一个有效的线段&#xff0c;也可以把它理解成是空间中的一个点&#xff0c;那么与之相对应的一个数字&#xff0c;也就是我们在初等数学中学的一个一个数&#xff0c;我们…

【文生图系列】Runaway Gen-2试用体验

文章目录 风景示例动物示例人物动作示例 Runway旗下的视频生成产品Gen-1和Gen-2已彻底开放&#xff0c;任何人都可注册一个账号免费尝试。免费的时长是105s&#xff0c;每个视频生成4s。 看gen-2官网和各公众号放出来的示例&#xff0c;非常震撼&#xff0c;不禁感慨现在文生视…

在ChinaJoy里,看见数字经济“供给创造需求”新范本

作者 | 曾响铃 文 | 响铃说 “太爽了&#xff0c;没想到在这看到了武汉eStarPro战队现场打王者。” “真没想到这个跑步机&#xff0c;我戴上VR眼镜1秒穿越到鼓浪屿&#xff0c;居然在海边跑步。” “那个《头号赛车》好玩&#xff0c;超远距离控制真实车模在真实赛道飙车&…

[每日习题]动态规划——公共子串计算 通配符匹配——牛客习题

hello,大家好&#xff0c;这里是bang___bang_&#xff0c;本篇记录2道牛客习题&#xff0c;公共子串计算&#xff08;中等&#xff09;&#xff0c;通配符匹配&#xff08;较难&#xff09;&#xff0c;如有需要&#xff0c;希望能有所帮助&#xff01; 目录 1️⃣公共子串计算…

AI实战干货,用AI 5分钟做1本超清画质原创绘本

Hi~我是专注于AI技术教程和项目实战的赤辰。 上期给大家分享了用ChatGPT生产配音的方法教程&#xff0c;反馈还是很热烈的&#xff0c;今天给大家带来一个用ChatGPT 5分钟生产出高画质精品绘本的教程。目前就有朋友通过这个插件制作育儿绘本教材&#xff0c;然后在亚马逊和小红…

UE4 网格体闪烁问题解决

情形1 模型摆放共面导致闪烁 解决&#xff1a;模型的表面重叠引起的闪烁&#xff0c;将模型间距隔开1-2cm&#xff0c;视觉效果基本看不出来&#xff0c;但是能够很好解决表面山数艘问题。 情形2 模型建模时相接部分共面导致闪烁 解决&#xff1a;模型建模时不同组件使用过不…

用于紫外线消毒灯的LED驱动:数明深紫外消毒方案SLM201

用于紫外线消毒灯的LED驱动SLM201 应用于紫外线消毒灯的LED驱动。疫情过后让越来越多的人开始注重起个人健康&#xff0c;除了出门佩戴口罩外&#xff0c;对于居家消毒也越发重视起来。而居家消毒除了75%浓度酒精及各类消毒液外&#xff0c;利用紫外线灯给衣物表面、房间消毒也…

计算球体上一点指向球心的姿态

背景&#xff1a;最近有个需求&#xff0c;需要用相机拍摄一个物品&#xff0c;初始状态下相机在该物体正上方&#xff0c;随后相机的坐标按一定规律变化&#xff0c;要求它的视野中心一直固定在该物体上。这个问题可以理解为&#xff1a;以物品建立一个坐标系&#xff0c;相机…