servlet

作者: 啦啦啦啦啦哈1 | 来源:发表于2018-11-03 14:12 被阅读0次

    Servlet的生命周期

    1.加载:容器通过类加载器使用Servlet类对应的文件来加载Servlet

    2.创建:通过调用Servlet的构造函数来创建一个Servlet实例

    3.初始化:通过调用Servlet的init()方法来完成初始化工作,这个方法是在Servlet已经被创建,但在向客户端提供服务之前调用。

    4.处理客户请求:Servlet创建后就可以处理请求,当有新的客户端请求时,Web容器都会创建一个新的线程来处理该请求。接着调用Servlet的

    Service()方法来响应客户端请求(Service方法会根据请求的method属性来调用doGet()和doPost())

    5.卸载:容器在卸载Servlet之前需要调用destroy()方法,让Servlet释放其占用的资源。

    Servlet是线程不安全的,在Servlet类中可能会定义共享的类变量,这样在并发的多线程访问的情况下,不同的线程对成员变量的修改会引发错误。

    下面有关servlet service描述错误的是?

    不管是post还是get方法提交过来的连接,都会在service中处理

    service()是在javax.servlet.Servlet接口中定义的

    service判断请求类型,决定是调用doGet还是doPost方法

    错误:doGet/doPost 则是在 javax.servlet.GenericServlet 中实现的

    下列有关Servlet的生命周期,说法不正确的是?

    在Servlet生命周期的服务阶段,执行service()方法,根据用户请求的方法,执行相应的doGet()或是doPost()方法

    在销毁阶段,执行destroy()方法后会释放Servlet 占用的资源

    destroy()方法仅执行一次,即在服务器停止且卸载Servlet时执行该方法

    不正确:在创建自己的Servlet时候,应该在初始化方法init()方法中创建Servlet实例

    下面有关servlet中init,service,destroy方法描述错误的是?

    init()方法是servlet生命的起点。一旦加载了某个servlet,服务器将立即调用它的init()方法

    service()方法处理客户机发出的所有请求

    destroy()方法标志servlet生命周期的结束

    servlet在多线程下使用了同步机制,因此,在并发编程下servlet是线程安全的

    相关文章

      网友评论

          本文标题:servlet

          本文链接:https://www.haomeiwen.com/subject/zyukxqtx.html