Servlet详解(4) -GenericServlet与HttpServlet

创建一个新的Web项目,命名为myservlet002
新建的项目目录如下图所示:
在这里插入图片描述
在这个新建的工程里,必须包含Java的jdk包以及Tomcat里的jsp包和servlet包
在src目录下新建包,在包里新建一个Java类MyServlet,并实现接口servlet
在这里插入图片描述
我们知道,在实现Servlet接口时,需要实现接口内的五个抽象方法,但是实在实际开发中,除了核心方法service,其他四个方法几乎不使用,因此通过实现Servlet接口来看,其代码较为冗余。
我们可以使用继承HttpServlet类的方式达到与实现Servlet接口相同的效果,而且代码看起来更加简洁

Servlet的层次接口

Servlet本质上是一套工具,Servlet接口只是其最顶端的一组接口,在Servlet下还有GenericServlet,GenericServlet下还有HttpServlet,即层次结构为:
Servlet–>GenericServlet–>HttpServlet
(1)在上面创建的包内新建一个Java类TestServlet,继承HttpServlet
在这里插入图片描述
(2)重写HttpServlet中的doGet()和doPost()方法
在这里插入图片描述
HTTP请求有很多种,常用的有四种:
GET–读取
POST–保存
PUT–修改
DELETE–删除
因此我们重写的两个方法:doGet()和doPost()
分别是用来处理GET请求和POST请求的
这个时候,我们就可以只通过doGet()和doPost()两个方法达到与实现Servlet接口相同的效果
(3)在MyServlet类(实现Servlet接口)的service方法内写入代码,并通过注解的方式实现
在这里插入图片描述
在TestServlet类(继承HttpServlet类)的doGet()方法内写入相同内容的代码,并通过注解的方式实现
在这里插入图片描述
(4)编译运行
再打开的浏览器地址输入在MyServlet类自定义的地址,回车
在这里插入图片描述
在浏览器地址输入在TestServlet类中自定义的地址,回车
在这里插入图片描述
效果相同
(5)从上面可以看出,通过继承HttpServlet类的方式比实现Servlet接口的方式更简洁,代码更精炼

总结

GenericServlet类实现了Servlet接口,同时为它的子类屏蔽了Servlet接口中不常用的方法,子类只需要重写service方法即可
HttpServlet类继承GenericServlet类,根据请求类型进行分发,GET进入doGet()方法,POST进入doPost()方法
开发者自定义的Servlet类只需要继承HttpServlet类,重写doGet()方法、doPost()方法即可

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值