servlet三种创建方式/以及底层代码

Servlet 服务器端的小应用程序

作用;通过HTTP协议---处理客户端的请求和响应


Servlet的生命周期      (!循环!)

实例化-----初始化-----服务-------销毁         getServletinfo(获得版权)

servletDemo1      Init      service   destroy

 

单实例 多线程


出生:(实例化-->始化)第一次访问Servlet就出生(默认情况下)

活着:(服务)应用活着,servlet就活着

死亡:(销毁)应用卸载了servlet就销毁。



Servlet的三种创建方法

*实现javax.servlet.Servlet接口

**继承javax.servlet.GenerticServlet类(适配器模式

***创建一个类继承javax.servlet.http.HttpServlet模板方法设计模式


*实现javax.servlet.Servlet接口         不着中讲



**继承javax.servlet.GenerticServlet类(适配器模式)

//抽象类GenerticServlet已经实现了servlet接口,重写了接口servlet里面的所有方法,,service是抽象方法----------用哪个重写哪个

 

重写了接口servlet5个方法

 

GenericServletinit()方法是自己的



适配器--原本是全部继承,现在是要哪个选哪个

genericServlet  只需要重写一个抽象方法  service






***创建一个类继承javax.servlet.http.HttpServlet模板方法设计模式      

没有了初始化,销毁等方法-------->继承GenericServlet

 

需要走那种请求就会有doXXXX    7种,明确请求方式

主要方法是:doPost  doGet  Service




====================================================================



继承javax.servlet.GenerticServlet----主要顺序

1>>>Service 应该走继承的父类--重写@override--强转成http的格式---调用另一个service(该方法)

2>>>再走service(httpServlet重载servlet,使用其模板方法设计模式*******)

3>>>分类判断是哪个方法(得到http请求消息行的方式**分类**) ->doXxxx

4>>>doXxxx方法建议重写

5>>>走自己重写doXxxx方法

好处(postget乱码解决方式不同---分类方便处理)

总结:继承自Servletservice方法,Httpservlet重写该方法(自己不写)

     转到Httpservlet里另一个的service方法,重载      (自己不写)

     走到DoXxxx方法,                           这个需要我们自己写

 



思想  ---各种重写----模板设计模式-->多态的思想    

不要重写父类的service方法

                   

Servlettocat服务器创建的 Servlet s =new Servlet Semo3();

 

S.写不出来do方法,只能调service()方法.servlet是个接口,只会执行实现类.

ServletDemo3没有该方法,只能找他的父类HttpServlet.

里面有两个service,一个是重写了他父类的,另一个是重载--判断你的请求方式

分类--转到Do方法

重写Do方法--转到你自己的Do方法

 

!!!如果重写了Service方法,那么模板设计方法,没有Do方法了

模板是HttpServlet.Service     分类分成各种Do方法

 

Servlet==>GenericServlet==>HttpServlet(两个service)==>继承HttpServlet(重写do)


http.HttpServlet 模板方法设计模式    extends generic Servlet

主要记住doget  /  dopost / service

 

这个模式如果啥方法都不写

http staus 405  http method--get is not supported by this url(其实找到了这个方法了)

这时候详细点击父类的service方法-链接到--子类service方法-链接到-doxxxx

Doxxxx里面都有请求消息行的方法get

 

重写--dopostdoget方法(http.Httpservlet的好处在于service,分开有各种方法)

===================================================================

举列::::::::::::::::::::::::::::::::

某个文件   Extends HttpServlet

父类Servlet  service--子类httpservlet service-子类原来的doxxxx-重写的doxxxxx

 

千万不要重写service方法!!!!!!

 

Servlet --> GenericServlet --> HttpServlet  (继承HttpServlet)













  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值