Servlet学习笔记(一)

作者:jichunlei   阅读 (1949)  |  收藏 (0)  |  点赞 (0)

摘要

博主最近在复习学过的Servlet知识,发现很多都已经遗忘了,所以决定写个博客笔记来记录一下,同时也希望能够帮助阅读过的小伙伴。


原文链接:Servlet学习笔记(一)

Servlet学习笔记(一)

 

1          Servlet概述

1.1    什么是Servlet

ServletJava Servlet的简称,称为小服务程序服务连接器,用Java编写的服务器端程序,主要功能在于交互式地浏览和修改数据,生成动态Web内容。

 

狭义的Servlet:指Java语音实现的一个接口;

广义的Servlet指任何实现了这个Servlet接口的类。

       一般情况理解为后者(广义)

 

1.2    Servlet的三种实现方式

1)        实现javax.servlet.Servlet接口(底层)

public class AServlet implements Servlet {

                            ……

                     }

 

2)        继承import javax.servlet.GenericServlet

public class BServlet extends GenericServlet {

       ……

}

 

3)        继承javax.servlet.http.HttpServlet

public class CServlet extends HttpServlet {

       ……

}

 

2          Servlet接口

2.1    Servlet的生命周期概述

所谓生命周期,即出生、服务、以及死亡。

 

2.2    Servlet中的方法

Ø  生命周期方法

1)        void init(ServletConfig)

初始化,即把Servlet装载到内存中,且只被调用一次。

2)        void service(ServletRequest,ServletResponse)

每次处理请求时都会被调用。

3)        void destroy()

临死之前被调用一次(该方法不是销毁Servlet,而是在Servlet被销毁前的最后操作,可以理解为临死前的最后一句话)

Ø  其余方法

4)        getServletConfig()

获取Servlet配置信息。

5)        getServletInfo()(基本上不使用)

返回值String类型,返回Servlet的信息。

 

2.3    深入理解Servlet生命周期

1)        Servlet的出生

服务器在Servlet第一次被访问时创建Servlet,或者是在服务器启动时创建(需要在web.xml中配置,默认情况下Servlet是在第一次被访问时由服务器创建的)

一个Servlet类型,服务器只创建一个实例对象,比如首次访问http://localhost:8080/myweb/MyServlet时,服务器通过web.xml配置“/MyServlet”找到绑定的Servlet名称,然后服务器会查看这个类型的Servlet是否已经创建过,如果没有那么服务器会通过反射来创建该实例,否则直接使用创建过的实例。

Servlet被创建后,服务器会马上调用Servletvoid init(ServletConfig)方法。请记住, Servlet出生后马上就会调用init()方法,而且一个Servlet的一生。这个方法只会被调用一次。这好比小孩子出生后马上就要去剪脐带一样,而且剪脐带一生只有一次。(我们可以把一些对Servlet的初始化工作放到init方法中!)

2)        Servlet服务

当服务器每次接收到请求时,都会去调用Servletservice()方法来处理请求。服务器接收到一次请求,就会调用service() 方法一次,所以service()方法是会被调用多次的。正因为如此,所以我们才需要把处理请求的代码写到service()方法中!

3)        Servlet的死亡

Servlet是不会轻易离去的,通常都是在服务器关闭时Servlet才会离去!在服务器被关闭时,服务器会去销毁Servlet,在销毁Servlet之前服务器会先去调用Servletdestroy()方法,我们可以把Servlet的临终遗言放到destroy()方法中,例如对某些资源的释放等代码放到destroy()方法中。

 

2.4    Servlet执行流程图

下载.png


分类   JavaWeb
字数   1810

博客标签    JavaWeb   Java   Servlet   Servlet概述   生命周期  

评论