当前位置: 首页 > news >正文

Servlet02---超详细的HttpServlet讲解

紧接上一篇博客,我这篇博客的演示是在同一个javaWEB项目里创建的Myservlet01类,可以自己新建一个项目创建一个类演示

1. HttpServlet

1.1 HttpServlet介绍

因为现在我们的请求都是基于HTTP协议的,所以我们应该专门为HTTP请求写一个Servlet做为通用父类。
image

由上图我们可以看出,以后再写Servlet 可以直接继承HttpServlet

  • Servlet 一个标准
  • GenericServlet 是Servlet接口子类
  • HttpServlet 是GenericServlet子类,一个专门处理Http请求的Servlet

3.2 Http请求方法

HTTP请求方法不只是GET和POST,还有其他的方法,但基本上用不上。这里只是简单介绍一下。你自己心里有个数,HTTP请求除了GET和POST之外还有别的就行了。

* GET		通过请求URI得到资源* POST		用于添加新的内容* PUT		用于修改某个内容* DELETE	删除某个内容* CONNECT	用于代理进行传输,如使用SSL* OPTIONS	询问可以执行哪些方法* PATCH		部分文档更改* RACE		用于远程诊断服务器* HEAD		类似于GET, 但是不返回body信息,用于检查对象是否存在,以及得到对象的元数据* TRACE		用于远程诊断服务器

3.3 创建HttpServlet(有两种方法)

3.3.1 第一种方法

  1. 创建一个类继承HttpServlet
package cn.tx.servlet;import javax.servlet.http.HttpServlet;public class Servlet2 extends HttpServlet{}
  1. 配置Servlet的映射路径
<servlet><servlet-name>hello2</servlet-name><servlet-class>cn.tx.servlet.Servlet2</servlet-class>
</servlet><servlet-mapping><servlet-name>hello2</servlet-name><url-pattern>/hello2</url-pattern>
</servlet-mapping>

3.3.2 第二种方法

1. IDEA直接创建servlet

image

2.填写Servlet名称

image

3. 创建完成,自己填写映射路径

image

3.3.3 Servlet创建顺序(看看哪个servlet项目首先初始化)

有些Servlet需要在Tomcat启动时就被创建,而不是第一次访问时被创建,那么可以在web.xml文件中配置元素。

元素中添加子元素元素!

<servlet><servlet-name>hello</servlet-name><servlet-class>cn.tx.servlet.Servlet1</servlet-class><load-on-startup>1</load-on-startup>
</servlet>

image

  • 当值为0或者大于0时,表示容器在应用启动时就加载这个servlet;

  • 所有添加了子元素的Servle,都会在Tomcat启动时被创建!当然,只是被创建,但没有处理请求!但我们知道在Servlet生命周期中init()方法会在创建后被调用,所以你可以在init()方法中做一些输出,查看是否在Tomcat启动时调用了它。

  • 元素的值是一个序号,Tomcat会使用这个序号给多个Servlet排序!然后在Tomcat启动时会按这个顺序来创建Servlet实例对象!

示例
处理http请求的方常用的有四种

image

1.创建Javaweb项目,创建一个类,类名为MyServlet01,这个类继承HttpServlet(按住ctrl+鼠标左击进入这个HttpServlet类中),进入父类,查看父类里面的方法

image

------使用HttpServlet里面的方法处理请求,实际上父类里的方法,不满足我的java类---MyServlet01的请求,所以我要在MyServlet类中重写父类的doGet()和doPost()方法

2.重写父类HttpServlet的doGet()和doPost()方法

image

image

3.给这个Myservlet01类配置web.xml文件

image

4.启动tomcat,在弹出的网页输入映射路径---/hello01是get请求还是post请求

image

一定是get请求,因为在url里面传递,一定是获取,所以发送的一定是get请求

image

如果想让他是post请求,有两种方式
  • 写一个页面,页面里有个表单,表单里生命是post请求
  • 使用外部工具,让请求变成post请求
总而言之,在url上直接输入路径的方式就是get请求

image

http://www.jsqmd.com/news/567064/

相关文章:

  • 实测分享:用Metashape(原PhotoScan)从无人机照片到3D模型的全流程避坑
  • 用ZED2相机和Python搞点好玩的:从读取序列号到实时深度图显示的完整项目实战
  • 抖音批量下载终极指南:免费去水印工具,一键收藏创作者全部作品
  • 2026年老薛主机最新优惠码:终身7折/新购7折
  • 别再死记硬背NLL公式了!用PyTorch手把手带你复现一个分类任务(附完整代码)
  • 计算机毕业设计:Python 二手车价格预测与特征分析系统 Flask框架 requests爬虫 可视化 数据分析 大数据 机器学习 大模型(建议收藏)✅
  • Node.js版本管理神器NVM:从安装到实战的保姆级教程(Mac版)
  • 用Python和Keras实战LSTM-AutoEncoder:手把手教你搭建室内空气质量异常检测模型
  • 终极指南:在Windows上快速免费安装安卓应用的完整解决方案
  • PyAEDT实战指南:高效电磁仿真的Python自动化方案
  • Ubuntu 22.04 编译内核踩坑记:手把手教你用gcc-9解决 `yylloc` 重定义错误
  • 如何解析B站视频:零门槛的bilibili-parse使用指南
  • 北海穷游必吃的美食攻略
  • 51单片机实战:用快马平台生成智能农业监测系统,从需求到完整代码
  • AI 牛马项圈公司新估值 20 亿美元,亚秒级实时监控;ProactiveVideoQA:首个视频多模态模型主动交互基准丨日报
  • 野火STM32F429与LVGL实战:从CubeMX配置到GUI移植全解析
  • AI智能体在测试自动化中的作用
  • 告别CNN!用Vision Transformer(ViT)和CellViT搞定病理切片细胞分割,附完整代码与避坑指南
  • 【超详细教程】手把手教你部署OpenClaw,两步解锁龙虾AI助理!
  • sqlmap工具超详细使用教程:从零基础到实战攻防(附避坑指南)
  • QMCDecode:突破QQ音乐格式枷锁,高效实现音乐自由播放
  • 什么是BGP协议
  • 内网UOS服务器装不了软件?手把手教你用ISO搭建本地YUM源,离线也能秒装包!
  • 别再用HAL_Delay了!STM32F407用CubeMX配置GPIO实现精准LED闪烁(附源码)
  • 智能手表与手机数据打架?用HHAR数据集实战多设备传感器融合与校准
  • 巴法云MQTT实战:避开ESP8266连接与App Inventor开发的5个常见坑
  • 虚拟人格入殓师:为废弃AI写墓志铭
  • 终极AI编程助手OpenCode:如何5分钟告别传统编码困境
  • SD2026 一轮省集
  • Altium Designer实战:多层PCB布线中的信号完整性与热焊盘设计