03专注于Http请求的Servlet

本文深入探讨了Servlet的工作原理,特别是在处理HTTP协议请求时的角色。通过分析GenericServlet和HTTPServlet的实现,解释了如何通过重写doGet和doPost方法来响应不同的HTTP请求。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在实际工作中,我们关于Servlet的使用基本上全部是基于Http这种协议的,而Servlet接口中本身并没有关于处理基于http协议请求的方法,所以,我们可以通过它的实现类来处理基于http协议的请求。

Servlet通常是通过http接受和响应来自客户端的请求,所以基于http协议发送的请求最多,而Servlet并没有提供,那么,我们怎样关联一个http的Servlet呢,我们可以通过它的实现类httpServlet来实现。在谈httpServlet之前,我们先来介绍这个GenericServle抽象类。这个抽象类实现了Servlet接口中的大多数方法,它在实现了Servlet接口之后又做了一些扩展,它定义了一个与协议无关的Servlet(GenericServlet是一个通用的与协议无关的Servlet)。

GenericServlet它主要实现了一下几个接口:

1.Servlet ;2.ServletConfig 3.Serializable;

我们主要关注HttpServlet这一块。httpServlet继承了GenericServlet;

HttpServlet(主要是用来处理http请求的):httpServlet的子类必须重写一个方法,该方法通常是一些这些方法之一:

doget():这个方法时给Get方式的请求做响应的;

dopost():这个方法是给post方式的请求做响应的;

几乎没有理由重写Service方法:Service通过标准http请求分发给每个http请求类型的处理程序方法(上面的dopost和doGet来处理)。(这一点可以通过查看service(HttpServletRequest req, HttpServletResponse resp);源码即可,这个方法最后调用的是dopost或doget或其他的请求方式。因为在父类中dopost和doget并没有实现有价值的东西,所以,在通过HttpServlet创建Servlet的时候,我们只需要重写doget和dopost方法就可以了。

需要注意的是:通过浏览器地址栏输入请求的时候,使用的请求是Get方式的请求。

Service方法在httpServlet有两个:分别是

1.

service(HttpServletRequest req, HttpServletResponse resp);

2.

service(ServletRequest req, ServletResponse res);通过源码可以看书出,Service(ServletRequest req,ServletResponse res)

实际上是调用了Service(HttpServletRequest req,HttpServletResponse resp)方法;所以我们真正要学习的是第一种方法。

httpServlet中的两个init()方法:

1.init():用来做初始化操作的时候一般使用这个方法;

2.init(Servletconfig config):这个方法是给配置对象做初始化的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值