httpservlet 子类需要复写httpservlet 里的init方法吗? 5

为什么写一个类继承httpservlet后直接在类里写service方法就行了。不写init方法怎么创建并初始化这个RegisterServlet对象呢?还有不写dest... 为什么写一个类继承httpservlet后直接在类里写service方法就行了。不写init方法怎么创建并初始化这个RegisterServlet对象呢?还有不写destroy方法怎么销毁呢? 还有为什么有的子类里写的是doget和dopost方法而不写service方法呢? 展开
 我来答
distancelife
2018-06-01 · TA获得超过228个赞
知道小有建树答主
回答量:139
采纳率:40%
帮助的人:31.1万
展开全部
init方法是在servlet初始化是调用的方法,但是初始化servlet还做了很多其他的工作,是httpS ervlet极其父类做的事情,这个我们不用关心,我们如果要在初始化这个时机做点什么的话,就可以重写这个方法,初始化时就会去执行你写的代码,destroy同理
樂學者
2018-05-30 · 超过26用户采纳过TA的回答
知道答主
回答量:96
采纳率:83%
帮助的人:26.1万
展开全部
不需要,如果要重写的话一般是用来做一些自己的事情。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
月恒七之殇
2019-10-23
知道答主
回答量:7
采纳率:0%
帮助的人:2.3万
展开全部

一般不需要。

因为init()方法是在javax.servlet包中的servlet接口中声明、在它的实现抽象类Class GenericServlet实现的,而Class HttpServlet继承了GenericServlet。关键在于:

init()方法是由servlet容器(如Tomcat、Jetty等)自动调用的。

在java EE 8的APIs中对于init()有如下表述:

void init(ServletConfig config)throws ServletException
Called by the servlet container to indicate to a servlet that the servlet is being placed into service.
The servlet container calls the init method exactly once after instantiating the servlet. The init method must complete successfully before the servlet can receive any requests.

也就是说servlet容器在实例化servlet后立即调用init()初始化servlet。一般不用自己写和调用。

destroy()方法类似。

至于为什么只重写protected void service(HttpServletRequest req,HttpServletResponse resp) throws ServletException, IOException方法即可,那是因为doxxx方法是通过service方法调用(分配)的。

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式