Servlet入门(二)
- 格式:doc
- 大小:84.50 KB
- 文档页数:6
servlet面试题及答案servlet面试题及答案(一)1.Servlet执行时一般实现哪几个方法?Public void init(ServletConfig config)public ServletConfig getServletConfig()public String getServletInfo()public void service(ServletRequest request,ServletResponse response) public void destroy()2. url重写有几种方式?由于cookie可以被人为的禁止,必须有其他机制以便在cookie被禁止时仍然能够把session id传递回服务器。
经常被使用的一种技术叫做URL重写,就是把session id直接附加在URL路径的后面,附加方式也有两种,一种是作为URL路径的附加信息,表现形式为...../xxx;jsessionid=ByOK3vjFD75aPnrF7C2HmdnV6QZcEbzWoWiBYEnLerjQ99zWpBng!-145788764另一种是作为查询字符串附加在URL后面,表现形式为...../xxx?jsessionid=ByOK3vjFD75aPnrF7C2HmdnV6QZcEbzWoWiBYEnLerjQ99 zWpBng!-145788764这两种方式对于用户来说是没有区别的,只是服务器在解析的时候处理的方式不同,采用第一种方式也有利于把session id的信息和正常程序参数区分开来。
为了在整个交互过程中始终保持状态,就必须在每个客户端可能请求的路径后面都包含这个session id。
3.在jsp中引用使用jsp:useBean id=" " ...scope=" "/来引用javabean.Ⅰscope的值有哪些,这些值的区别是什么?不同的jsp页面中引用javabean 时,id能否相同,如果能相同,对scope的值有什么要求?scope可以为:application|page|session|requeat这个东西就是指定ID 的有效范围。
servlet请求方法Servlet是用Java编写的服务器端程序,它可以处理来自客户端(浏览器)的请求并生成相应的响应。
在Servlet中,我们可以使用不同的请求方法来处理不同类型的请求。
下面是一些相关参考内容,介绍了常用的Servlet请求方法。
1. doGet方法:doGet方法用于处理客户端的GET请求。
在这种情况下,查询字符串会被附加到URL后面,并且可以通过getParameter方法来访问这些参数的值。
这个方法通常用于获取信息,而不是对服务器上的数据进行修改。
例如,一个简单的例子可以是根据用户的请求来返回一个HTML页面。
2. doPost方法:doPost方法用于处理客户端的POST请求。
与GET请求不同,POST请求将数据作为请求体的一部分发送给服务器。
在Servlet中,可以使用getParameter方法来访问这些参数的值。
这个方法通常用于在服务器上创建或更改数据。
例如,当用户提交一个表单时,表单数据会通过POST请求发送给服务器。
3. doPut方法:doPut方法用于处理客户端的PUT请求。
PUT请求用于向服务器添加新的资源或更新现有资源。
在Servlet中,可以使用getInputStream方法来读取请求的正文,并使用请求参数来访问表单字段的值。
这个方法通常用于在服务器上更新数据。
4. doDelete方法:doDelete方法用于处理客户端的DELETE请求。
DELETE请求用于删除服务器上的资源。
在Servlet中,可以使用getParameter方法来访问请求参数的值。
例如,当用户点击"删除"按钮时,可以通过发送DELETE请求来删除特定的数据。
5. doOptions方法:doOptions方法用于处理客户端的OPTION请求。
OPTION请求用于获取服务器支持的请求方法、请求头字段和响应头字段。
在Servlet中,可以使用setHeader方法来设置响应头字段,并使用getHeader方法来获取请求头字段的值。
说明 servlet 的三种访问方式Servlet是Java语言编写的服务器端组件,用于处理客户端的请求并生成响应。
Servlet的访问方式有三种:通过URL直接访问、通过表单提交数据访问和通过AJAX异步请求访问。
一、通过URL直接访问通过URL直接访问Servlet是最常见的方式之一。
在浏览器地址栏中输入Servlet的URL,就可以直接访问该Servlet。
URL的格式通常为:http://服务器地址:端口号/项目名/Servlet路径。
例如,假设服务器地址是localhost,端口号是8080,项目名是myapp,Servlet的路径是myservlet,则访问该Servlet的URL为:http://localhost:8080/myapp/myservlet。
通过URL直接访问Servlet时,可以通过URL参数传递数据给Servlet。
例如,可以在URL中添加参数name=张三,让Servlet根据该参数生成相应的响应。
URL参数的格式为:?参数名1=参数值1&参数名2=参数值2&...。
例如,访问Servlet的URL为:http://localhost:8080/myapp/myservlet?name=张三。
二、通过表单提交数据访问通过表单提交数据访问Servlet是常用的方式之一。
在HTML页面中,可以使用<form>标签创建一个表单,设置表单的action属性为Servlet的URL,设置表单的method属性为POST或GET,然后在表单中添加各种输入元素,用户填写完表单后点击提交按钮,表单数据会被发送到Servlet进行处理。
在Servlet中,可以通过HttpServletRequest对象的getParameter方法获取表单提交的数据。
例如,假设表单中有一个输入框的name属性为name,用户填写了姓名为张三,那么在Servlet中可以通过getParameter("name")方法获取到该值。
Servlet的基本运行流程Servlet是Java Web中的一种技术,能够处理来自客户端的请求并生成响应。
它是在Web服务器上运行的Java类,可以与容器进行交互。
下面将详细描述Servlet的基本运行流程的步骤和流程。
1. Servlet的生命周期Servlet的生命周期包括以下三个阶段: - 初始化阶段(Initialization) - 服务阶段(Service) - 销毁阶段(Destroy)1.1 初始化阶段在Servlet类被加载到容器中时,(通常在Web应用程序启动时),容器会实例化Servlet对象,并调用其init()方法来进行初始化。
该方法只会在Servlet生命周期中被调用一次。
1.2 服务阶段一旦Servlet被初始化后,在其生命周期内,任何对Servlet的请求都会被容器处理。
当接收到一个客户端请求时,容器会创建一个新的线程,并调用Servlet的service()方法来处理该请求。
service()方法会根据请求的类型(GET、POST等)来调用相应的方法(如doGet()、doPost()等)进行处理。
1.3 销毁阶段当Web应用程序被关闭或Servlet容器被关闭时,容器会调用Servlet的destroy()方法来清除资源、释放内存和进行最后的操作,以完成Servlet的销毁过程。
2. Servlet运行流程Servlet的运行流程包括以下几个步骤:2.1 客户端发送请求当客户端(如浏览器)向Web服务器发送一个HTTP请求时,请求首先会到达Web容器。
2.2 容器寻找匹配的ServletWeb容器根据请求的URL来确定匹配的Servlet。
容器会维护一个Servlet映射表,将URL与对应的Servlet进行关联。
2.3 容器创建或获取Servlet实例如果Servlet实例不存在,则容器会创建一个新的Servlet实例,并调用其init()方法来进行初始化。
说明 servlet 的三种访问方式Servlet是Java中用于处理Web请求的一种技术。
它可以接收来自客户端的请求,并根据请求做出相应的处理和响应。
在Servlet中,有三种主要的访问方式,即通过URL映射、通过注解和通过web.xml配置文件。
下面将分别介绍这三种访问方式的具体内容。
一、URL映射方式URL映射方式是最常见和最基本的Servlet访问方式之一。
通过URL 映射,可以将Servlet与特定的URL地址关联起来,当客户端请求该URL时,Servlet就会被调用并处理请求。
URL映射方式可以通过在web.xml配置文件中进行设置。
在web.xml文件中,可以使用<servlet>和<servlet-mapping>标签来配置Servlet的URL映射。
首先,需要配置<servlet>标签,其中包含Servlet的名称和类路径。
然后,通过<servlet-mapping>标签来指定Servlet的URL映射关系,即将Servlet的名称与URL地址进行关联。
例如,可以将一个名为HelloServlet的Servlet映射到"/hello"的URL上。
当客户端请求"/hello"时,Servlet容器会找到对应的HelloServlet并调用它的service方法来处理请求。
二、注解方式注解方式是一种相对简单和方便的Servlet访问方式。
通过在Servlet类上添加特定的注解,可以指定Servlet的URL映射关系,从而实现访问。
注解方式可以减少配置文件的使用,使得开发更加便捷。
在Servlet类上添加注解时,需要使用@WebServlet注解,并指定urlPatterns属性来设置URL映射关系。
例如,可以使用@WebServlet(urlPatterns = "/hello")将一个名为HelloServlet 的Servlet映射到"/hello"的URL上。
servlet的工作流程-回复Servlet的工作流程Servlet是一种服务器端的Java程序,其主要功能是处理客户端发送的请求并提供响应。
下面将详细介绍Servlet的工作流程,一步一步回答中括号内的主题。
一、客户端发送请求在Servlet的工作流程中,首先客户端会发送一个请求到服务器。
这个请求可以是通过浏览器上的URL、表单提交或者Ajax请求等方式发起的。
无论请求的方式如何,Servlet都需要通过请求对象来获取请求的信息。
二、Servlet容器接收请求一旦Servlet容器(如Tomcat、Jetty等)接收到请求,它会根据部署在自己上面的web应用程序的配置决定将请求交给哪个Servlet来处理。
Servlet容器会根据请求的URL路径或者部署描述符中的配置将请求路由到相应的Servlet上。
三、Servlet实例化和初始化在Servlet容器确定请求需要交给哪个Servlet进行处理后,它会检查是否已经对该Servlet进行了实例化。
如果没有实例化过,即该Servlet尚未被创建,Servlet容器会通过调用Servlet的构造方法来创建一个Servlet实例。
在Servlet实例化后,Servlet容器会调用Servlet的init()方法,对Servlet 进行初始化。
在init()方法中,开发人员可以进行一些初始化的工作,例如建立数据库连接、加载配置文件等。
同时,Servlet容器会把一个包含了请求信息和响应信息的HttpServletRequest和HttpServletResponse对象传递给Servlet实例,以便Servlet实例能够获取和处理相关的请求和响应。
四、处理请求在Servlet的service()方法中,具体的请求处理逻辑将被实现。
开发人员需要重写service()方法,并在其中编写处理客户端请求的代码。
在service()方法中,开发人员可以通过HttpServletRequest对象获取请求参数、处理表单提交数据、进行业务逻辑处理等操作。
教学活动首页基本内容第 7 章 Java Servlet教学目的与要求:通过本章的学习让学生了解如何用 servlet 读写文件,用 servlet 访问数据库;理解servlet 工作原理,servlet共享变量的使用;掌握编译和安装 servlet,通过 JSP 页面调用 servlet,HttpServlet 类,掌握会话管理。
教学内容:7.1 servlet 工作原理7.2 编译和安装 servlet7.3 通过 JSP 页面调用 servlet7.4 servlet共享变量7.5 HttpServlet 类7.6 用 servlet 读写文件7.7 用 servlet 访问数据库7.8 会话管理教学基本要求:了解:用 servlet 读写文件,用 servlet 访问数据库理解:servlet 工作原理,servlet共享变量掌握:编译和安装 servlet,通过 JSP 页面调用 servlet,HttpServlet 类,会话管理教学重点教学难点:servlet 工作原理,编译和安装 servlet,通过 JSP 页面调用 servlet,HttpServlet 类,会话管理教学方法:教学手段:多媒体教学和计算机程序演示教学小结:(见教学进程)作业与思考:见课后习题课后记载:教学进程第7章 Java Servlet我们已经知道,SUN公司以Java Servlet为基础,推出了Java Server Page。
JSP提供了Java Servlet的几乎所有好处,当一个客户请求一个JSP页面时,JSP引擎根据JSP页面生成一个Java文件,即一个servlet。
这一章,将对servlet做一个较详细的介绍,这不仅对于深刻理解JSP有一定的帮助,而且通过学习servlet,还能使我们选择使用JSP+javabeans+servlet的模式来开发我们的Web应用程序。
我们已经知道,用JSP支持JavaBeans这一特点,可以有效的管理页面的静态部分和页面的动态部分。
servlet常用方法Servlet是在服务器端运行的Java程序,可以接收客户端请求并做出响应。
Servlet 常用的方法包括:1、init(ServletConfig config): 初始化方法,在Servlet第一次创建时调用,且只调用一次。
2、service(ServletRequest request, ServletResponse response): 服务方法,处理客户端的请求,返回响应给客户端。
这个方法在接收到一个请求时被调用一次。
3、destroy(): 销毁方法,当服务器停止或者卸载Servlet时调用,仅执行一次。
4、getServletConfig(): 返回当前Servlet的配置对象。
5、getServletInfo(): 返回关于Servlet的描述信息。
6、getAttribute(String name): 获取名称为name的属性值。
7、setAttribute(String name, Object object): 在请求中保存名称为name的属性。
8、getInitParameter(String name): 返回初始化参数name的值。
9、getServletContext(): 返回当前Servlet的上下文。
10、getMajorVersion(), getMinorVersion(): 返回主、次版本号。
11、getEffectiveMajorVersion(), getEffectiveMinorVersion(): 返回实际主、次版本号。
这些是Servlet常用的一些方法,帮助我们更好地进行请求处理、信息获取以及状态管理等操作。
servlet、javabean创建和使用方法Servlet是一种用于处理HTTP请求的Java应用程序框架。
它是Java Web 开发中的核心组件之一,能够通过Servlet容器将HTTP请求转发给服务器,并对服务器返回的响应进行处理。
JavaBean是Java中用于描述对象属性的一种数据类型。
JavaBean是一种封装性较高的对象,可以通过Java编程语言直接访问和操作。
在Servlet中,JavaBean是一种重要的数据存储方式,可以将Web应用程序中的数据存储在服务器端,以便更好地管理和操作数据。
下面是创建和使用Servlet和JavaBean的一般步骤:1. 创建Servlet:在Web应用程序的根目录下创建Servlet的Java文件,通常命名为`servlet.java`。
在Servlet的Java文件中,需要定义Servlet的接口和实现类。
接口定义Servlet的响应和处理逻辑,实现类则具体实现接口。
2. 创建JavaBean:在Web应用程序的根目录下创建JavaBean的Java文件,通常命名为`javabean.java`。
在JavaBean的Java文件中,需要定义JavaBean 的属性和方法。
属性是Servlet接收的数据,方法是Servlet处理数据的方法。
3. 创建Servlet容器:在Web应用程序的根目录下创建Servlet容器的Java 文件,通常命名为`servlet-api.java`。
在Servlet容器的Java文件中,需要定义Servlet容器的接口和实现类。
4. 创建Servlet调用:在Web应用程序的HTML页面中,需要使用Servlet容器提供的API来调用Servlet。
例如,可以使用`<servlet>`标签来引用Servlet,然后使用`<servlet-name>`属性来指定Servlet的名称。
5. 编写Servlet代码:在Servlet的接口和实现类中,需要编写具体的响应和处理逻辑。
servlet运行机制Servlet是Java Web开发中的重要组件,它是基于Java编写的服务器端程序,用于处理客户端的请求并生成响应。
本文将详细介绍Servlet的运行机制,包括Servlet的生命周期、Servlet容器和Servlet线程模型。
一、Servlet的生命周期Servlet的生命周期包括初始化阶段、请求处理阶段和销毁阶段三个阶段。
1. 初始化阶段:当Servlet容器加载Servlet时,会调用其init()方法进行初始化。
在该方法中,可以进行一些初始化的工作,如读取配置文件、建立数据库连接等。
当Servlet被初始化后,就可以接收并处理客户端的请求。
2. 请求处理阶段:当客户端发起请求时,Servlet容器会创建一个Servlet实例,并调用其service()方法来处理请求。
在service()方法中,可以根据请求类型(GET、POST等)执行相应的业务逻辑,并生成响应内容。
3. 销毁阶段:当Servlet容器关闭或重新加载Web应用时,会调用Servlet的destroy()方法进行销毁。
在该方法中,可以释放资源、关闭数据库连接等清理工作。
二、Servlet容器Servlet容器是指Web服务器或应用服务器,它负责加载、初始化、调用和销毁Servlet。
常见的Servlet容器有Tomcat、Jetty、GlassFish等。
1. 加载和初始化:当Servlet容器启动时,会读取Web应用的配置文件(如web.xml),根据配置信息加载并初始化Servlet。
初始化过程包括创建Servlet实例、调用init()方法等。
2. 调用和处理:当客户端发起请求时,Servlet容器会根据请求URL的映射规则找到对应的Servlet,并创建一个线程来处理该请求。
Servlet线程会调用Servlet的service()方法来处理请求,并生成响应。
3. 销毁:当Servlet容器关闭或重新加载Web应用时,会销毁所有已加载的Servlet。
Servlet入门(二)——传智播客学习笔记1.类装载器●Java虚拟机使用每一个类的第一件事就是将该类的字节码装载进来,装载类字节码的功能是由类装载器完成的,类装载器负责根据一个类的名称来定位和生成类的字节码数据后返回给Java虚拟机。
●类装载器本身也是一个Java类,Java虚拟机也允许开发人员编写自己的类装载器,以便通过其他各种特殊方式来产生类字节码。
●不管类装载器采用什么方式,只要能够在内存中制造出给Java虚拟机调用类字节码即可,所以,把类装载器描述为类字节码的制作器更容易让人理解。
●当一个类被加载以后,Java虚拟机将其编译为可执行代码存储在内存中,并将索引信息存储进一个HashTable中,其索引关键字为与之相对应的类名。
●Java程序中的类本身也是一种事物,它也可以用一个Java类描述,这个特殊的类名就叫Class。
类装载器装载某个类的字节码的过程实际上就是在创建Class类的一个实例对象,这个Class类的实例对象封装的内容正好是当前加载的类的字节码数据。
●要想在程序中获得代表某个类的字节码数据的Class实例对象,可以采用以下三种方式:类名.class,例如,System.class对象.getClass(),例如,new Date().getClass()Class.forName(“类名”),例如,Class.forName(“java.util.Date”)●Java类库中提供了一个ng.ClassLoader来作为类装载器的基类,Java虚拟机的程序都调用ClassLoader类的loadClass方法来加载类,ClassLoader是一个抽象类,真正的类装载器必须是ClassLoader 的子类。
●Class类中定义了一个getClassLoader方法,用于返回它所描述的类的类加载器对象,这个返回对象的类型就是ClassLoader。
2.类装载器的基本策略●一个类装载器本身也是一个Java类,所以,类装载器自身也需要被另外一个类装载器装载。
●Java虚拟机中内嵌了一个称为Bootstrap的类装载器,它属于Java虚拟机的内核,不用类装载器装载。
Bootstrap类装载器负责加载Java核心包中的类(即rt.jar中的类),这些类的Class.getClassLoader方法返回值为null,即表示是Bootstrap类装载器。
●ExtClassLoader类装载器负责加载存放在<JA V A_HOME>/jre/lib/ext目录下的jar包中的类,AppClassLoader负责加载应用程序的启动执行类。
3.类装载器的委托模式●一个Java虚拟机中的所有类装载器采用具有父子关系的树形结构进行组织,在实例化每一个类装载器对象时,需要为其指定一个父级类装载器对象,如果没有指定的话,则以ClassLoader.getSystemClassLoader()方法返回的系统类装载器作为其父级类装载器对象。
●系统类装载器通常被设置为启动应用程序的AppClassLoader,可以通过java.system.class.loader系统属性来将系统类装载器设置为其他类装载器。
ExtClassLoader是AppClassLoader的父级类装载器,ExtClassLoader没有父级类装载器。
●每个ClassLoader本身只能分别加载特定位置和目录中的类,但是,ClassLoader被设计成了一种委托模式,使得某一个ClassLoader可以委托它的父级类装载器去加载类,从而让应用程序可以借助某一个子级的ClassLoader去多个位置和目录中进行类的加载。
●当要加载一个类时,ClassLoader的loadClass方法先查找这个类是否已被加载,如果没有加载则委托其父级类装载器去加载这个类,如果父级的类装载器无法装载这个类,子级类装载器才调用自己内部的findClass方法去进行真正的加载。
委托过程会一直追溯到BootStrap类装载器,如果委托过程中的所有类装载器都不能完成类的装载,最终就会报告ClassNotFoundException异常。
●一个类装载器只能创建某个类的一份字节码数据,即只能为某个类创建一个与之对应的Class实例对象。
在一个Java虚拟机中可以存在多个类加载器,每个类加载器都拥有自己的名称空间,对应同一个类,每个类加载器都可以创建出它的一个Class实例对象。
●采用委托模式避免了一个Java虚拟机中的多个类装载器为同一个类创建多份字节码数据的情况。
只要开发人员自定义的类装载器不覆盖ClassLoader的loadClass方法,而是覆盖其findClass方法,这样就可以继续采用委托模式。
4.线程中的类加载器●如果在类A中使用new关键字创建类B,Java虚拟机将使用加载类A的类装载器来加载类B。
如果在一个类中调用Class.forName方法来动态加载另外一个类,可以通过传递给Class.forName方法的一个参数来指定另外那个类的类装载器,如果没有指定该参数,则使用加载当前类的类装载器。
●依据一个类的存放位置,这个类最终只能由一个特定的类装载器装载。
对于一个已被父级类装载器装载的类来说,Java虚拟机默认也使用这个父级类装载器去装载它所调用的其他类,由于父级类装载器不会委托子级类装载器去装载类,所有,在一般情况下,一个已被父级类装载器装载的类无法调用那些只能被子级类装载器发现和装载的其他类。
●每个运行中的线程都有一个关联的上下文类装载器,可以使用Thread.setContextClassLoader( )方法设置线程的上下文类装载器。
●每个线程默认的上下文类装载器是其父线程的上下文类装载器,而主线程的类装载器初始被设置为ClassLoader.getSystemClassLoader( )方法返回的系统类加载器。
●当线程中运行的代码需要使用某个类时,它使用上下文类装载器来装载这个类,上下文类装载器首先会委托它的父级类装载器来装载这个类,如果父级的类装载器无法装载时,上下文类装载器才自己进行装载。
5.Tomcat中的类装载器|System|Common/ \●Common类装载器负责从<CA TALINA_HOME>/lib和<CATALINA_BASE>/lib中的.class类文件和jar 包加载类。
●WebappX类装载器负责从当前Web应用程序的/WEB-INF/classes中的.class类文件和/WEB-INF/lib中的jar包加载类。
6.区分Servlet的编译和运行环境编译和运行Servlet的环境完全不同。
解释和运行Servlet的过程完全是在Tomcat中进行的,Servlet 的运行环境就是Tomcat所设置的环境。
Servlet的编译环境是开发人员用javac命令完成的,编译环境是在命令行窗口或者集成开发工具所设置的环境。
即使Servlet在运行时可以成功运作,但是编译时不一定能够找到相关的类,如servlet api相关类。
7.编写一个自动编译工具●编译Servlet源文件时的两个繁琐问题:①必须将包含Servlet API的jar文件加入到CLASSPATH环境变量的路径列表中。
②编译生产的.class文件必须放置在Web应用程序的WEB-INF\classes目录中,并且要有与包名对应的子目录结构。
●解决方案:使用compile.bat批处理文件set CLASSPATH=c:\apache-tomcat-6.0.35\lib\servlet-api.jar;%CLASSPATH%javac –d d:\myweb\WEB-INF\classes %1pause8.Servlet的特点●Servlet是一个供其他Java程序(Servlet引擎)调用的Java类,它不能独立运行,它的运行完全由Servlet 引擎来控制和调度。
●Servlet引擎是一种容器程序,它负责管理和维护所有Servlet对象的生命周期。
Servlet的加载、执行流程、以及如何接受客户端发送的数据和如何将数据传输到客户端等具体的底层事务,都是由Servlet引擎来实现的。
Servlet引擎负责将客户端的请求信息转交给Servlet和将Servlet生成的响应信息返回给客户端。
●Servlet属于一种插件,它是一个提供了一些约定方法供容器去调用的类,它只负责在自身的方法中接受并处理容器传递进来的数据,以及生成并返回给容器去使用的数据和状态信息。
●Servlet的最常见应用在于读取web浏览器传递给web服务器的参数和生成web服务器返回给web浏览器的动态网页文档内容;Servlet也能获取web浏览器发送的HTTP请求消息中的各个请求头和请求行信息,以及生成用于web服务器发送的HTTP响应消息中的状态行和响应头信息;Servlet还能获取web服务器和Servlet引擎自身的一些环境和状态信息。
●Servlet程序的运行过程就是它与Servlet引擎的交互过程,Servlet程序只与Servlet引擎打交道,它并不与web服务器和客户端进行任何直接的交互。
●Servlet本身就是Java语言的一个应用,具有Java语言的所有优势,能完成普通Java程序所能完成的所有功能。
●Web服务器上可以布置多个功能各不相同的Servlet,每个Servlet都应宣称它可以处理何种样式的URL,当符合样式的URL请求到达时,Servlet引擎调用相应的Servlet进行处理。
9.Servlet的运行过程①Servlet引擎检查是否已经装载并创建了该Servlet的实例对象。
如果是,则直接执行第④步,否则执行第②步。
②装载并创建给Servlet的一个实例对象。
③调用Servlet实例对象的init( )方法。
④创建一个用于封装HTTP请求消息的HttpServletRequest对象和一个代表HTTP响应消息的HttpServletResponse对象,然后调用Servlet的service( )方法并将请求和响应对象作为参数传递进去。
⑤WEB应用程序被停止或重新启动之前,Servlet引擎将卸载Servlet,并在卸载之前调用Servlet的destroy( )方法。
10.Servlet的运行过程—>特殊说明●在<servlet>元素中嵌套一个<load-on-startup>子元素,web应用程序在启动时就可以装载并创建Servlet 的实例对象,以及调用Servlet实例对象的init( )方法。
(数字越小,装载越提前)●在Servlet的整个生命周期内,它的init方法只被调用一次,而对一个Servlet的每次访问请求都导致Servlet引擎调用一次servlet的service方法。