文档章节

SpringFramework之学习javax.servlet.Servlet

克虏伯
 克虏伯
发布于 2018/07/26 14:24
字数 469
阅读 10
收藏 0

    注:在阅读下文前,建议先去查看JCP的Servlet规范。

1.先来看Servlet接口中定义的方法

                  

                                                         图1 Servlet接口中定义的方法

    Servlet life cycle:每个Servlet都会经历初始化、接收请求、终止服务,分别对应Servlet的init方法、service方法、destroy方法。

  • init方法:Servlet容器在加载了Servlet之后,初始化Servlet时,会先调用init方法,每个Servlet的init方法只会被调用一次。传入到init方法的ServletConfig是个接口,通过ServletConfig可以获得ServletContext。要注意的是如果我们自己覆写了init方法,那么这个方法不能抛出异常,否则容器不会让这个Servlet提供服务。
  • service方法:容器每次接收到请求后,都会将请求封装为ServletRequest,调用Servlet的service方法,比如A、B俩个请求都转发到同一个Servlet,那么A、B俩个请求是由俩个线程来处理的。由于每次请求都会调用service方法,所以HttpServlet覆写了service方法,并根据Http的请求方法,分别调用不同的方法,比如doGet、doPost、doDelete方法等,doGet、doPost、doDelete方法是HttpServlet中新增的,Servlet中并没有这些方法。

    End of Service:每个Servlet,被容器初始化后,Servlet实例不一定会一直存在,比如容器有可能会过段时间后,关闭该Servlet实例。关闭Servlet实例时会调用destroy方法。如果容器又需要该Servlet实例时,那么此时容器需要新建一个Servlet实例。

© 著作权归作者所有

克虏伯

克虏伯

粉丝 22
博文 462
码字总数 167378
作品 0
其它
程序员
私信 提问
servlet(一)

servlet(一) 2015-12-24 by damon 一个简单的Servlet例子 第一步:定义一个Servlet类 public class MyServlet extends HttpServlet { /** * serialVersionUID */ private static final lo......

水天云黑白
2015/12/24
0
0
Java for Web学习笔记(一零一):Spring框架中使用JPA(1)Transaction(上)

在spring中使用事务涉及的Bean 本学习将介绍一些在Spring中使用事务设计的Bean,有一个大致的概念认识,以便了解后面的代码。如果觉得枯燥,也可以在后面的学习中回过头来看。   在之前的学...

flowingflying
2017/12/30
0
0
springmvc学习笔记(6)-springmvc整合mybatis(IDEA中通过maven构建

springmvc学习笔记(6)-springmvc整合mybatis(IDEA中通过maven构建) 标签: springmvc mybatis [TOC] 本文主要展示如何在intellij IDEA中通过maven构建springmvc+mybatis框架的开发环境。 需求...

brianway
2016/03/10
504
0
spring boot框架学习12-spring boot整合active mq方法1

本章节主要内容:主要从以下几个方面讲解:mybatis和spring boot整合、redis(单机版)和spring boot整合、redis(集群)和spring boot整合、httpclient和spring boot整合、rabbitMQ/active MQ和...

799879287
2017/12/10
0
0
Spring学习aop注解异常

Spring中采用annotation的方式实现AOP代理,运行测试代码时抛出以下异常:

ok绷forever
2016/08/24
33
0

没有更多内容

加载失败,请刷新页面

加载更多

Spring Cloud Alibaba 实战(二) - 关于Spring Boot你不可不知道的实情

0 相关源码 1 什么是Spring Boot 一个快速开发的脚手架 作用 快速创建独立的、生产级的基于Spring的应用程序 特性 无需部署WAR文件 提供starter简化配置 尽可能自动配置Spring以及第三方库 ...

JavaEdge
今天
7
0
TensorFlow 机器学习秘籍中文第二版(初稿)

TensorFlow 入门 介绍 TensorFlow 如何工作 声明变量和张量 使用占位符和变量 使用矩阵 声明操作符 实现激活函数 使用数据源 其他资源 TensorFlow 的方式 介绍 计算图中的操作 对嵌套操作分层...

ApacheCN_飞龙
今天
7
0
五、Java设计模式之迪米特原则

定义:一个对象应该对其他对象保持最小的了解,又叫最小知道原则 尽量降低类与类之间的耦合 优点:降低类之间的耦合 强调只和朋友交流,不和陌生人说话 朋友:出现在成员变量、方法的输入、输...

东风破2019
昨天
23
0
jvm虚拟机结构

1:jvm可操作数据类型分为原始类型和引用类型,因此存在原始值和引用值被应用在赋值,参数,返回和运算操作中,jvm希望在运行时 明确变量的类型,即编译器编译成class文件需要对变量进行类型...

xpp_ba
昨天
5
0
聊聊nacos Service的processClientBeat

序 本文主要研究一下nacos Service的processClientBeat Service.processClientBeat nacos-1.1.3/naming/src/main/java/com/alibaba/nacos/naming/core/Service.java public class Service ex......

go4it
昨天
6
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部