【JavaWeb】使用Servlet实现输出 hello world

news2024/10/7 12:29:10

文章目录

  • 1. 前言
  • 2. 重写doGet方法
  • 3. Smart Tomcat的下载和使用
  • 4. 访问时出现问题

1. 前言

之前讲过如何使用IDEA创建Servlet项目. 因此创建项目这一步就不过多介绍了
有需要的可以看一下➡IDEA专业版和社区版创建Servlet项目

今天介绍如何使用Servlet输出一个"hello world".
在这里插入图片描述

2. 重写doGet方法

示例:

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

在这里插入图片描述

解释一下@WebServlet("/hello")这是什么意思

@WebServlet()会根据某些GET请求会生效, 然后里面写的 /hello,表示当请求的url是 /hello 的请求才会生效

@Override: 表示重写父类或接口中的同名方法. 在这里就是重写了 HttpServlet中的doGet方法

doGet方法表示当Tomcat收到某些GET请求时,会调用这个doGet方法,并将HTTP请求和响应对象作为参数传递给该方法。

HttpServletRequest: 表示HTTP请求
HttpServletResponse: 表示HTTP处理请求后响应

doGet的工作就是"根据请求,计算响应"

req就是把HTTP的请求报文,解析成一个对象,doGet根据需求的req里的数据+业务逻辑 构造成一个完整的resp对象. 然后Tomcatresp对象转成一个HTTP响应报文

resp.getWriter().write:将文本或HTML代码作为响应发送到客户端浏览器

3. Smart Tomcat的下载和使用

上述代码是写完了,要如何运行呢?
虽然打war 复制到Tomcat的webapps里面运行是一种方法,但是这种方法比较麻烦.所以我更推荐使用Smart Tomcat

Smart Tomcat 可以使Tomcat服务器的部署和调试变得更加方便。
在这里插入图片描述
直接在IDEA的Settings中选择Plugins中搜索Smart Tomcat安装即可

安装完成之后选择Edit,找到Smart Tomcat并点击
在这里插入图片描述
在这里插入图片描述
设置完成之后,就会有Tomcat的图标
在这里插入图片描述
点击运行.此时并没有什么效果.那是因为并没有调用这个方法
在这里插入图片描述
接下来通过浏览器进行访问.
在这里插入图片描述
在这里插入图片描述

127.0.0.1是一个特殊的IP地址,也称为“本地回环地址”,它指向计算机本身。
当计算机尝试连接127.0.0.1时,它实际上是在尝试连接自己。这个地址通常被用于在本地机器上运行服务器或客户端应用程序,特别是在开发和测试阶段。

4. 访问时出现问题

浏览器访问时出现错误:

404: 表示用户访问的资源不存在. 大概率是 URL 的路径写的不正确
405: 表示对应的 HTTP 请求方法没有实现
500: 往往是 Servlet 代码中抛出异常导致的.
无法访问此网站: 通常是 Tomcat 启动就失败了.

在这里插入图片描述

感谢你的观看!希望这篇文章能帮到你!
专栏: 《从零开始的Java学习之旅》在不断更新中,欢迎订阅!
“愿与君共勉,携手共进!”
在这里插入图片描述

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

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

相关文章

深度学习-小目标检测训练技巧

强烈感谢 公众号CVHub 提供的文章思路,该文章仅作为学习记录。 导读 小目标检测是计算机视觉领域中的一个极具挑战性的问题。随着深度学习和计算机视觉领域的不断发展,越来越多的应用场景需要对小目标进行准确的检测和识别。本文将从小目标的定义、意义…

被抄袭声明

我(受害者)的博客主页: ChuckieZhu的博客_CSDN博客-MATLAB,Python,Django领域博主 抄袭者(施害者)博客主页: 洋洋菜鸟的博客_CSDN博客-python实例,数学建模,python基础领域博主 问题说明: …

优思学院|什么是六西格玛?一文解答你对六西格玛最常见的疑问

什么是六西格玛? 六西格玛(Six Sigma)是一种管理方法和质量改进体系,旨在减少组织过程中的变异性,提高业务绩效,并实现客户满意度的持续提升。它是由美国Motorola公司在20世纪80年代发展起来的&#xff0c…

公司新来了个测试开发,据说是00后,上来一顿操作给我惊呆了.....

开年公司新来了个同事,听说大学是学的广告专业,因为喜欢IT行业就找了个培训班,后来在一家小公司实习半年,现在跳槽来我们公司。来了之后把现有项目的性能优化了一遍,服务器缩减一半,性能反而提升4倍!给公司…

Roxel 创世 NFT 作品集

Roxel 宇宙中的 Roxel 机器人、复古未来主义设备和生动机器的集合。在 Roxel 游戏的第一关「The Ascension」中,与它们一起玩耍或对抗,解锁访问独家内容。 该系列于北京时间 6 月 5 日晚上 11 点在 The Sandbox 市场平台上线。 作品一览 巨大的机械挖掘机…

QT学习之旅 - 自定义控件

文章目录 QT中horizontalLayout组件中调整长度在其他组件中使用自定义控件关于ComboBox控件关于QStringList ico添加失败获取windows端口号pro文件(添加)cpp文件(添加) 关于表格设置背景布(ui界面)设置网格.h文件 我们选择 widget 以上是选QT Froms的模板 我们可以选择QT设计师…

基于html+css的图展示124

准备项目 项目开发工具 Visual Studio Code 1.44.2 版本: 1.44.2 提交: ff915844119ce9485abfe8aa9076ec76b5300ddd 日期: 2020-04-16T16:36:23.138Z Electron: 7.1.11 Chrome: 78.0.3904.130 Node.js: 12.8.1 V8: 7.8.279.23-electron.0 OS: Windows_NT x64 10.0.19044 项目…

Python 基于招聘数据可视化界面

1 简介 随着国内的经济不断的快速发展,现在学生的就业压力也在逐年增加,网络上的招聘信息非常的丰富,但是对于学生而言岗位是否适合,自身技能是否满足企业需要等仍然需要进一步的进行研究。本次的开发就是帮助应届毕业生在选择工…

012 - STM32学习笔记 - DMA_存储器到存储器

011 - STM32学习笔记 - DMA直接存储器 1、DMA简介 我们知道stm32在实际应用过程中具有很强大的功能,包含数据的采集、处理、逻辑功能的运算等,因此stm32一直在处理大量的事务,但是在实际使用过程中,我们知道有些事情实际上不需要…

探索智慧文旅:沉浸式VR导览与个性化数字人带你畅游景区

导语: 随着科技的不断进步和智能化的兴起,智慧文旅已经成为旅游业的新趋势。在这个数字化时代,旅游体验已经不再局限于传统的观光和游玩,而是通过创新科技为游客提供了全新的旅行方式和更加丰富的体验。 在智慧文旅中&#xff0c…

Pycharm配置远程调试

原文链接 在搞深度学习的时候,我们在本地开发,但是需要在服务器去运行工程,所以需要使用Pycharm进行远程配置,可以实现本地代码自动同步到服务器,并在本地使用服务器的解释器。 条件:需要使用专业版Pycha…

【webrtc】SDP: rtcp-mux

https://w3c.github.io/webrtc-pc/ RTCRtcpMuxPolicy 是关于传输rtcp包的ice地址收集的 默认是必须开启的。 rtcpMuxPolicy of type RTCRtcpMuxPolicy, defaulting to “require”. Indicates which rtcp-mux policy to use when gathering ICE candidates.

ESXi 7.0 U3m Cisco (思科) 定制版 OEM Custom Installer CD

VMware ESXi 7.0 Update 3m - 领先的裸机 Hypervisor (All OEM Customized Installer CDs) ESXi 7.0 U3m Standard (标准版) ESXi 7.0 U3m Dell (戴尔) 定制版 OEM Custom Installer CD ESXi 7.0 U3m HPE (慧与) 定制版 OEM Custom Installer CD ESXi 7.0 U3m Lenovo (联想) 定…

centos7安装 Miniconda

Miniconda是什么 Miniconda是一个轻量级的Anaconda发行版,它是一个Python环境管理器和软件包管理器。Anaconda是一个科学计算和数据科学的Python发行版,而Miniconda是Anaconda的精简版本,只包含了基本的组件。 按照以下步骤下载和安装Minicon…

软测量技术论文

软测量技术论文篇一 软测量技术在污水处理中的应用 摘要:近年来软测量技术的研究主要是基于人工神经网络,它对非线性问题有较好的处理能力,对求解结果有较好的泛化能力,由于实际生活中严格意义上的线性系统并不多见&#xff0c…

【实现微信红包效果】前端CSS实现微信红包打开效果(附源码下载)

【写在前面】上次领了一分钱微信红包后就在想如何实现红包打开翻转效果,微信带来最大的一个里程碑就是红包功能的开发,以至于出现这个现象,一块钱掉地上都不一定有人捡,但是微信群里抢到1分钱还得说一声谢谢老板,更有甚…

Win11 RTX 4090显卡深度学习环境配置(Nvidia显卡驱动、CUDA11.7.0)

Win11 RTX 4090显卡深度学习环境配置(Nvidia显卡驱动、CUDA11.7.0) 1. 简介2. 安装Anaconda3. 安装Pycharm4. 安装CUDA11.7.04.1 安装4.2 测试4.3 CUDA卸载 5. PyTorch安装5.1 PyTorch安装5.2 安装CUDA相关软件包5.3 测试 1. 简介 PyTorch分为CPU版本和…

并查集详解及应用

文章和代码已经归档至【Github仓库:https://github.com/timerring/algorithms-notes 】或者公众号【AIShareLab】回复 算法笔记 也可获取。 文章目录 并查集优化方法 例题:合并集合code 例题:连通块中点的数量code 模板总结例题:食…

(链表) 143. 重排链表 ——【Leetcode每日一题】

❓143. 重排链表 难度:中等 给定一个单链表 L 的头节点 head ,单链表 L 表示为: L 0 L_0 L0​ → L 1 L_1 L1​ → … → L n − 1 L_{n-1} Ln−1​ → L n L_n Ln​ 请将其重新排列后变为: L 0 L_0 L0​ → L n L_n Ln​ →…

hudi系列-文件系统视图(FileSystemView)

hudi表的数据一直在演变过程中,存储在文件系统中的数据文件也在不断增加和版本迭代,hudi提供了表级别的文件系统视图(filesystem view)来简单、直观地了解表中的数据分布情况、数据文件的状态和变化,以及数据的版本控制信息。文件系统视图提供了以下一些功能: 获取最新的ba…