1. servlet体系结构
servelt我们可以理解为一个实现了可以接受请求并响应请求的java类。servlet类的体系结构如下图
GenericServlet抽象类-----实现了Servlet接口和ServletConfig接口和Serializable接口
HttpServlet抽象类继-----承于GenericServlet抽象类
2.servlet生命周期
init()方法和destory()方法都只调用一次,service()方法每接受一个请求,都会调用一次service()方法。
2.1 Servlet容器实例化某个Servlet对象
在web.xml里面可以配置一个标签,让某个servlet类在Servlet容器启动的时候就创建这个servlet 类的一个对象。如果不配置servlet容器启动创建servlet对象,则当某个servlet接收到客户端的请求时,才创建这个servlet对象
2.2 某个Servlet对象初始化
Servlet实例化后,会调用servlet的init()方法,这个方法就是用来初始化的。你可以重写这个方法,根据自己的需求去初始化这个servlet实例。
如果你在web.xml为这个Servlet实例配置了初始化参数,如下
<servlet> <servlet-name>LoginDispatcher</servlet-name> <servlet-class>requestdispatcher.LoginDispatcher</servlet-class> <init-param> <param-name>name</param-name> <param-value>zhangsan</param-value> </init-param> </servlet> |
你可以调用ServletConfig接口的getInitParameter()方法去获得这些初始化参数。由上面类图我们可以知道GenericServlet抽象类实现了ServletConfig接口。
这里有两个异常要介绍:
ServletException:一般用来指明某个servlet初始化失败,例如找不到初始化参数
UnavailbleException:用于通知servlet容器该servlet实例不可用,例如当这个servlet在初始化的时候调用数据库连接失败,那么这个Servlet就不可用了,于是必须通知Servlet容器,告诉它这个Servlet对象不可用
2.3 Servlet处理请求
当客户端发送请求给某个servlet的时候,servlet会调用该servlet的service()方法去处理请求。在处理请求期间发生错误会抛出ServletException和UnavialbleException。
当UnavialbleException标志该servlet为永久不可用的servlet时,servlet容器就会调用该servlet的destory()方法销毁该servlet,并返回给客户端HTTP404错误(请求的资源不可用或不存在)。
当UnavialbleException标志该servlet为暂时不可用的servlet时,servlet容器将返回给客户端HTTP503错误(服务器忙,不能处理请求)
2.4 Servlet的销毁
当servlet容器要销毁某个servlet之前,servlet容器会调用该servlet的destory()方法,去释放一些资源,例如:数据库连接等等
3. servlet生命周期时序图


- 大小: 14.6 KB

- 大小: 32.1 KB
分享到:
相关推荐
servlet学习笔记_过滤器.doc
### JNDI (Java Naming and Directory Interface)学习笔记 #### 一、JNDI简介 JNDI(Java Naming and Directory Interface),即Java命名和目录接口,是在分布式计算环境中使用的一种标准化接口,它允许Java应用...
监听器是Servlet API提供的一种机制,可以监听Web应用程序中的特定事件,并在这些事件发生时执行相应的操作。以下是关于Servlet监听器的详细讲解: 首先,我们有四种主要类型的监听器,其中两种已经在文档中提及: ...
学习笔记"及提供的源码,开发者可以全面了解JSP和Servlet的工作原理,学会如何创建动态Web应用,同时提升解决问题和实际开发的能力。结合实际项目练习,能够更好地将理论知识转化为实践经验,从而在Java Web开发领域...
JSP Servlet 学习笔记 第2版 林信良 随书光盘 第3卷
《JSP & Servlet学习笔记(第2版)》是作者多年来教学实践经验的总结,汇集了学生在学习JSP&Servlet;或认证考试时遇到的概念、操作、应用等各种问题及解决方案。 《JSP & Servlet学习笔记(第2版)》针对Servlet 3.0的...
Servlet学习笔记(java的Servlet)。 jsp的学习基础。此笔记可让你5天内学会使用Servlet,可快速入门,也可当手册使用。 更多:http://download.csdn.net/user/daillo/all
本书是作者多年来教学实践经验的总结,汇集了教学过程中学生在学习JSP & Servlet时遇到的概念、操作、应用或认证考试等问题及解决方案。 本书针对Servlet 3.0的新功能全面改版,无论是章节架构与范例程序代码,都...
**林学良Jsp&Servlet学习笔记**: 这份学习资料可能是对JSP和Servlet基础知识的系统性讲解,涵盖了上述概念和原理,适合初学者入门。通过阅读这份笔记,你可以了解JSP和Servlet的基本语法、生命周期、以及如何将它们...
Java相关课程系列笔记之九Servlet学习笔记 Java相关课程系列笔记之十JSP学习笔记 Java相关课程系列笔记之十一Ajax学习笔记 Java相关课程系列笔记之十二jQuery学习笔记 Java相关课程系列笔记之十三Struts2学习笔记 ...
**JSP(Java Server Pages)与Servlet...这个**[JSP&Servlet学习笔记(第2版)]**会涵盖这些主题,并可能包括示例代码、最佳实践和常见问题解答,帮助读者全面掌握JSP和Servlet的使用技巧,进一步提升Java Web开发能力。
吉林大学珠海学院JSP&Servlet学习笔记(第二版)课后答案 本资源为吉林大学珠海学院JSP&Servlet学习笔记(第二版)的课后答案,涵盖了JSP和Servlet相关的知识点。本笔记共分为九章,每章节都包含了相关的问题答案,...
本书是作者多年来教学实践经验的总结,汇集了教学过程中学生在学习JSP &Servlet;时遇到的概念、操作、应用或认证考试等问题及解决方案。 本书针对Servlet 3.0的新功能全面改版,无论是章节架构与范例程序代码,都...
SpringBoot经典学习笔记是针对Java开发者的宝贵资源,它涵盖了SpringBoot的核心概念、特性以及实践应用。SpringBoot是由Pivotal团队开发的框架,旨在简化Spring应用的初始搭建以及开发过程,通过“约定优于配置”的...
由于直接学习笔记的内容没有给出具体的实例代码和详细解释,所以这里只提供了理论层面的知识点。如果需要学习具体实现,可以寻找相关的教程和项目实践来加深理解。同时需要注意的是,由于JSP/Servlet技术相对老旧,...
根据提供的文件信息,标题为“JSP&Servlet学习笔记(第2版)_打印版”,描述指出文档经过空白边裁剪处理以便于打印。虽然提供的部分内文无法直接转化为明确的知识点,但我们可以根据标题和描述推测该文档的主要内容,...
jsp&servlet学习笔记(第2版)光盘,买书附赠光盘,完片版本。