【Java】第一个Servlet程序

news2025/1/11 10:48:59

第一个Servlet程序

  • 创建项目
  • 引入依赖
  • 手动创建必要的目录/文件
  • 编写代码
  • 打包程序
  • 部署
  • 验证程序是否正常工作

创建项目

选中maven
在这里插入图片描述
创建好项目后,观察左侧项目结构
在这里插入图片描述

引入依赖

当权代码需要使用servlet开发,而Java标准库中并没有servlet,此时就需要让maven能够把servlet的依赖获取到

  1. 找到中央仓库

https://mvnrepository.com/

在中央仓库中找到servlet api
在这里插入图片描述
找到对应版本,我是用tomcat8,就需要3.1版本的api
在这里插入图片描述
在这里插入图片描述
复制这段代码,放在maven依赖中

此时先手动创建dependencies标签,再把复制好的代码放在标签里,此时就会开始下载需要的依赖
在这里插入图片描述

手动创建必要的目录/文件

在这里插入图片描述
配置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>

将这段代码复制到xml文件中
在这里插入图片描述

编写代码

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;

@WebServlet("/hello")
public class HelloServlet extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        System.out.println("hello");
        resp.getWriter().write("hello world");
    }
}

在这里插入图片描述

打包程序

使用maven工具来打包
在这里插入图片描述
在这里插入图片描述
双击此处的package就开始自动打包
在这里插入图片描述
当控制台出现build success说明打包成功
在这里插入图片描述
此时这个jar包就是打包好的代码
但是tomcat识别的是war包而不是jar包,此时我们需要在修改maven的配置文件来使打包好的文件是war包

在这里插入图片描述
再次点击package进行打包
在这里插入图片描述
此时就打包成了一个修改过名字的war包

部署

将war包放在tomcat上
在这里插入图片描述

验证程序是否正常工作

打开tomcat服务器
在这里插入图片描述

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

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

相关文章

启动YOLO进行图片物体识别

查看官方文档YOLO: Real-Time Object Detection 这些是一些模型的对比&#xff0c;显示了YOLO的优势&#xff0c;继续往下面看 CoCoData set 是一个数据库&#xff0c;用来训练模型&#xff0c;这里面有丰富的物体检测&#xff0c;分割数据集&#xff0c;图像经过了精确的segm…

大数定理:期望损失与经验损失的依据

在随机事件的大量重复出现中&#xff0c;往往呈现几乎必然的规律&#xff0c;这个规律就是大数定律。通俗地说&#xff0c;这个定理就是&#xff0c;在试验不变的条件下&#xff0c;重复试验多次&#xff0c;随机事件的频率近似于它的概率。偶然中包含着某种必然。 大数定律(l…

为实验室运维提供安全、智能、节能整体解决方案的易云维®实验室智能化管理平台

实验室安全问题频繁发生&#xff0c;在对生命损失表示遗憾的同时&#xff0c;再次提醒科研人员&#xff0c;实验室安全不容忽视。为了保证实验室工作环境的安全&#xff0c;易云维自主研发了实验室智能化管理平台&#xff0c;其中安防管理功能对确保实验室安全具有重大意义。 实…

关于浏览器的周边知识 01(副本)

先说两个概念&#xff0c;互联网 internet 泛指具有互通的计算机网络&#xff1b;因特网 Internet 是基于TCP/IP 协议族的最大的计算机网络&#xff1b;万维网 web (word wide web) 是基于互联网&#xff0c;由超链接和统一资源标识符&#xff08;连接&#xff09;的文件和其他…

GE WES13-3控制主板模块

GE WES13-3 控制主板模块通常是工业自动化和控制系统中的关键组件&#xff0c;用于控制和监测各种设备和过程。以下是可能包括在该模块中的一些产品功能&#xff1a; 控制处理器&#xff1a;WES13-3 控制主板模块通常配备控制处理器&#xff0c;用于执行控制逻辑和算法&#xf…

如何打造可视化警务巡防通信解决方案

近年来&#xff0c;科学技术飞速发展&#xff0c;给予了犯罪分子可乘之机。当面临专业化的犯罪分子、高科技的犯罪手段&#xff0c;传统警务模式似乎不能满足警方打击犯罪的需要&#xff0c;因此当今公安工作迫切需要构建智能化、系统化、信息化的警务通信管理模式。 警务人员…

Hi Mainnet 2023,Moonbeam来啦!

Messari一年一度Mainnet大会今年回归&#xff01;9月20日-23日&#xff0c;来自加密业界专家们满满三天的演讲干货、社交机会、专题工作坊将给予参会者独一无二的体验。 在参与了9月初韩国区块链周、月中Token2049之后&#xff0c;本周Moonbeam Network也将马不停蹄地参加此次…

文字转语音真人发声怎么弄?3款亲测好用的智能配音软件

现在AI人工智能语音技术已经比较发达了&#xff0c;可能很多朋友会发现影视解说经常遇到耳熟的声音&#xff0c;其实就是AI配音效果&#xff0c;才会这么相似。 今天就给大家分享3个好用的AI配音工具&#xff0c;希望对你有所帮助&#xff01; 一、&#xff1a;悦音配音 悦音…

Android 中手指从按钮 A 平移到 B,会发生什么?为什么?

作者&#xff1a;TechMerger 前言 Touch 相关问题是 Android 面试中常问的点&#xff0c;不一定要求大家都从 InputFlinger 底层开始回答&#xff0c;但起码需要了解 Touch 抵达 App 之后的完整处理。而即便是这段偏上层的链路&#xff0c;也不要局限在老生常谈的过程复述&…

【Linux旅行记】探究操作系统是如何进行管理的!

文章目录 什么是操作系统&#xff1f;操作系统概念操作系统的目的底层硬件驱动程序操作系统理解系统调用接口 操作系统是如何进行管理的&#xff1f;什么是管理&#xff1f;操作系统是如何管理硬件信息呢&#xff1f; &#x1f340;小结&#x1f340; &#x1f389;博客主页&am…

权威认可!麒麟信安实力入选中国信通院 2023《高质量数字化转型产品及服务全景图》

日前&#xff0c;中国信息通信研究院&#xff08;简称“中国信通院”&#xff09;发布2023《高质量数字化转型产品及服务全景图&#xff08;8月份新增入图产品&#xff09;》&#xff0c;麒麟信安实力入选&#xff0c;成为云服务领域的标杆企业。 麒麟信安入选2023 《高质量数字…

激光焊如何更准更稳?维视智造激光焊视觉解决方案助力精密制造

激光焊接是一种高能密度、非接触的焊接技术&#xff0c;它利用激光束对工件进行加热和熔化&#xff0c;然后使其在熔池的情况下形成连接。与传统的焊接方法相比&#xff0c;激光焊具有高密度、熔深小、变形小、焊缝质量高、适用性广、自动化程度高等特点&#xff0c;可以实现焊…

【C语言】自定义类型:结构体【结构体内存具详细】,枚举,联合

目录 一、结构体 1.结构的声明 2.特殊的声明 3.结构的自引用 4.结构体变量的定义和初始化 5.结构体内存对齐&#xff08;重点来了&#xff09; 6.为什么会存在内存对齐 7.修改默认对齐数 8.结构体传参 二、位段 1.什么是位段 2.位段的内存分配 3.位段的跨平台问题…

各种存储性能瓶颈如何分析与优化?

【摘要】本文结合实践剖析存储系统的架构及运行原理&#xff0c;深入分析各种存储性能瓶颈场景&#xff0c;并提出相应的性能优化手段&#xff0c;希望对同行有一定的借鉴和参考价值。 【作者】陈萍春&#xff0c;现就职于保险行业&#xff0c;拥有多年的系统、存储以及数据备…

vue3+TS前端JS实现 搜索关键词变红

起初在网上搜索获得的处理方式大都是类似这种&#xff1a; 但是实际使用中发现&#xff0c;对于汉字和数字是没有问题的&#xff0c;但是如果有字母就会出现问题。 1.只有汉字和数字的时候&#xff1a;匹配正常。 2.当有字母的时候&#xff1a;异常替换。 原因&#xff1a;第二…

百度SEO优化技巧(选择、网站结构、内容优化、外链建设、数据分析)

百度关键词SEO优化介绍 SEO是搜索引擎优化的缩写&#xff0c;是指通过优化网站结构、内容和外部链接等方式&#xff0c;提高网站在搜索引擎中的排名&#xff0c;从而获取更多的访问量和流量。百度是中国最大的搜索引擎之一&#xff0c;对于企业来说&#xff0c;优化百度关键词…

千呼万唤openGauss资源池化系列培训来了

应openGauss广大用户要求&#xff0c;社区于近期推出openGauss资源池化培训系列。 关于资源池化 资源池化是openGauss 5.0.0 推出的重点特性&#xff0c;是openGauss基于内存池化和共享存储实现的数据库集群。数据在集群的计算节点内存、共享存储中实现共享。应用可以任意节点…

嵌入式学习攻略

嵌入式软件编程的基础 主要是学习编程语言、开发环境和形成自己的编程逻辑&#xff0c;为嵌入式软件开发打下良好的基础&#xff0c;编程语言建议为C和C语言。书籍中的例子都是比较经典的程序实例&#xff0c;尽量去搞懂&#xff0c;不要觉得太长或者太难了而放弃&#xff0c;…

[正确重装docker] Win10 重装 Docker 提示 Exising installation is up to date 的正确姿势

Win10 重装 Docker 报错 Exising installation is up to date 的一种情况是原来的 docker 没有卸载干净&#xff0c;或者说&#xff0c;没有正确卸载。 巧了&#xff0c;我就是直接删除了&#xff0c;因为一些原因重装了好几次&#xff0c;血泪史留给各位嘲笑。 一条正确的卸…

编程(48)----------网页打开的过程

一个网页的打开大致分为以下几步: 1.DNS查询 在进行网络访问过程中, 实际上所访问的是IP地址. 但输入的却仅仅是域名. 因为IP地址过于复杂不利于记忆. 因此, 需要将IP转换成更具有辨识度的域名. 通过输入域名, 以DNS进行转换为IP, 再发起请求. DNS在得到域名后会进行查询, …