关于init()

关于init()

//第三部:初始化-init()

@Override

public void init(ServletConfig config) throws ServletException {

System.out.println("正在初始化FirstServlet对象");

}

这是在FirstServlet写的;

3-4视频中重写的是inti(),参数为空, 两者有什么区别呢 


问2:

启动时加载,是启动tomcat吧?在服务器加载初始化内容吧。也就是在服务器加载servlet

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

2回答
好帮手慕阿园 2021-03-09 18:28:10

同学你好,并不是说无参是有参的父元素,而是servlet初始化时会调用init()有参构造,而有参构造中调用了无参构造

servlet初始化指的就是web容器调用servlet初始化的init()方法将servlet进行初始化,初始化后servlet就会存在,然后通过doGet/doPodt方法提供服务,没有初始化则不会提供服务

在上一小节老师有讲到,同学可以回顾下

祝学习愉快~

  • 提问者 rock221 #1

    也就是说当服务器运行的时候,先对无参的进行调用,也就是运行时加载,然后在对有参的进行初始化,对有参的进行的是servlet的初始化 这样理解对吧,初始化就是一个概念, 但是没有初始化就不会提供服务?可对吧

    2021-03-09 18:50:37
  • 好帮手慕阿园 回复 提问者 rock221 #2

    同学你好,是服务器运行时对有参的init()进行调用,然后有参方法中调用了无参方法;关于初始化理解是可以的

    祝学习愉快~

    2021-03-09 19:03:41
  • 提问者 rock221 回复 好帮手慕阿园 #3
    那当有参和无参同时出现输出内容,服务器运行,不是先执行无参,再执行有参的吗?
    2021-03-09 19:26:58
好帮手慕阿园 2021-03-09 16:42:14

同学你好

1、有参的init()会调用无参的init(),所以一般重写时我们只需要重写无参的init()方法即可;可以理解为有参数是给服务器初始化servlet时调用的,而无参的是供开发者使用的

2、是的,启动时加载指的是启动tomcat

祝学习愉快~


  • 提问者 rock221 #1

    无参的是在启动时加载,我明白就是对tomcat启动的时候先加载这些内容;

    有参的是给服务器初始化servlet时调用的,啥意思?

    2021-03-09 17:05:04
  • 提问者 rock221 #2

    这两个方法都一定会被tomcat调用吧?只要tomcat启动后, 无参的是有参的父元素吧?也就是说当服务器运行的时候,先对有参的进行调用,也就是运行时加载,然后在对无参的进行初始化,对无参的进行的是servlet的初始化 。对吧?那么问题就是servlet的初始化是啥意思?

    2021-03-09 17:18:16
  • 提问者 rock221 #3

    上面写错了。这两个方法都一定会被tomcat调用吧?只要tomcat启动后, 无参的是有参的父元素吧?也就是说当服务器运行的时候,先对无参的进行调用,也就是运行时加载,然后在对有参的进行初始化,对有参的进行的是servlet的初始化 。对吧?所谓初始化,就给servlet定义一个默认值,没有初始化,就没有下面的servlet的方法调用,理解对吗?

    2021-03-09 17:24:51
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师