servlet详解 图解

Servlet API 类图 Servlet API 类图,包括javax.servlet, javax.servlet.http 立即下载

原文传送门:http://blog.youkuaiyun.com/lgstudyvc/article/details/7872077


servlet的生命周期

-------------------------------

Servlet生命周期

1、加载和实例化

Servlet容器加载Servlet类并调用该类的无参构造函数进行Servlet实例化。

2、初始化

       1)、Servlet容器准备ServletConfig对象,该对象可以从web.xml文件中获取Servlet配置信息。

       2)、Servlet容器调用Servlet对象的init()方法(调用且仅调用一次),该方法接收ServletConfig对象,获取Servlet配置信息并进行初始化。

       (一点补充说明:在javax.servlet包中,定义了ServletConfig接口。Servlet容器使用ServletConfig对象在Servlet初始化时向已经实例化的Servlet对象传递配置信息。可以通过ServletConfig对象的getServletContext()方法来得到ServletContext对象。运行在Java虚拟机中的每一个Web应用程序都有一个与之相关的Servlet上下文。Java Servlet API提供了一个ServletContext接口用来表示上下文。在这个接口中定义了一组方法,Servlet可以使用这些方法与它的Servlet容器进行通信,例如:得到文件的MIME类型,转发请求,或者向日志文件中写入日志消息。)

3、请求处理

       Servlet容器调用Servlet的service()方法对请求进行处理。在service()方法中,Servlet实例通过ServletRequest对象得到客户端的相关信息和请求信息,在对请求进行处理后,调用ServletResponse对象的方法设置响应信息。

4、服务终止

       当容器检测到一个Servlet实例应该从服务中被移除的时候,容器就会调用实例的destroy()方法,以便让该实例可以释放它所使用的资源,保存数据到持久存储设备中。当需要释放内存或者容器关闭时,容器就会调用Servlet实例的destroy()方法。

 

Servlet容器中的Servlet生命周期

 

==================

servlet与jsp的关系

-------------------------------

Servlet是Java提供的用于开发Web服务器应用程序的一个组件,运行在服务器端,由Servlet容器所管理,用于生成动态的内容。Servlet是平台独立的Java类,编写一个Servlet,实际上就是按照Servlet规范编写一个Java类。

 

如图所示,Java提供一系列接口类(所谓接口类就是类中所有方法只提供方法声明,不提供任何的方法实现,这些类的实现就留给后继者去做。):Servlet、ServletConfig、Serializable,然后通过多重继承产生一个最通用的Servlet实现类(图中Gerneric Servlet类),接下来,通过一个多重继承与实现,产生一个新的实现类HttpServlet,用户在开发Servlet程序时只需继承这个类,从而产生一个自己的类(图中Hello_Servlet类),然后根据实际开发功能与信息处理需要,去实现该类中的相关方法即可。这就是前面提到的按照Servlet规范编写一个Java类,从而编写一个Servlet。

至于JSP(JavaServlet Page)从图中可以看出,实际上它也是从Servlet继承而来。只不过它在Servlet当中又添加/修改了一些方法,作了新的封装。具体到Tomcat Web应用服务器中,它通过一个多重继承,分别从Java的HttpJspPage和HttpServlet两个类那里继承和实现一些方法,然后封装一个叫做HttpJspBase的类从而实现了一个通用化的JSP类,用户在开发自己的JSP时,只需要从HttpJspBase继承一个自己的类(如图中Hello_jsp类),然后根据需要去实现相应的方法即可。

因此这也是为什么JSP的代码中总是闪现Servlet代码框架影子的原因,其实它们只是为实现同样的功能而进行了不同封装的组件而已,血脉里留着的是一样的血。

“既生瑜何生亮?”呵呵,因为JSP确实比Servlet要更胜一筹,所谓“青出于蓝胜于蓝”,既然Sun公司要在Servlet基础上推出JSP技术,那肯定是因为JSP有它更高明的地方。

使用Servlet产生动态网页,需要在代码中打印输出很多HTML的标签,此外,在Servlet中,我们不得不将静态现实的内容和动态产生内容的代码混合在一起。使用Servlet开发动态网页,程序员和网页编辑人员将无法一起工作,因为网页编辑人员不了解Java语言,无法修改Servlet代码,而Java程序员可能也不是很了解网页编辑人员的意图,以至于无法修改和实现网页功能。为了解决这些问题,Sun公司就推出了JSP技术。

====================

Element Server Suite社区版Helm部署:私有Matrix聊天服务器快速搭建指南 在云原生和微服务架构日益普及的今天,容器化部署已成为现代应用交付的标准范式。Kubernetes作为容器编排的事实标准,通过声明式配置和自动化管理,极大地简化了复杂分布式系统的部署与运维。Helm作为Kubernetes的包管理器,通过预定义的Chart模板,将应用及其依赖打包,实现了真正的“一键部署”,显著提升了部署效率和可重复性。这种技术组合的价值在于,它让开发者能够专注于业务逻辑,而非底层基础设施的复杂性,尤其适用于需要快速搭建、易于维护的服务场景。Element Server Suite Commu 阅读详情

相关推荐

通信工程学习:什么是OLT光线路终端

OLT(光线路终端)是无源光网络(PON)的核心局端设备,负责光/电信号转换、数据处理、带宽分配及用户管理。具有高带宽、低损耗、高安全性和易维护等技术特点,广泛应用于家庭、企业及公共机构宽带接入。未来将向更高性能、智能化方向发展,结合SDN/NFV等新技术,提升网络服务质量。

limengshi138392的博客 4360

一图了解Servlet基础

一图了解Servlet基础

DN金猿的博客 215

【研究生学术英语读写教程翻译 中国科学院大学Unit9】

Unit 9 If Humble People Make the Best Leaders,Why Do We Fall for Charismatic Narcissists? 如果谦逊的人是最好的领导者,为什么我们会爱上魅力型自恋者?

fuhanghang的博客 4101

Servlet工作流程、类图、请求转发、重定向解读

Servlet工作过程 图示: 文字: 客户端向服务器端发送HTTP请求 服务器端容器解析该请求 容器去创建Servlet实例 调用Servlet实例的 init() 方法 调用Servlet实例的 service() 方法 Servlet实例向容器输出响应信息 容器将响应信息回传给客户端 容器调用Servlet实例的 destroy() 方法 容器与实例关系 Servlet 接口 定义了 Servlet 与 Servlet 容器之间的契约, Servlet 容器将 Servlet 类载入内存

weixin_49456098的博客 2560

Vivado时序约束实战:input_delay在高速接口设计中的关键作用

本文深入探讨了在Vivado时序约束中,input_delay对于高速接口设计的关键作用。通过一个RGMII以太网接口调试的实际案例,解释了为何仅靠仿真正确而实际数据采集会失败,并揭示了set_input_delay约束的本质是告知时序分析工具外部芯片的时序关系,而非添加物理延迟。文章详细讲解了如何根据数据手册计算约束值、针对不同采样时钟方案(如移相时钟)进行约束,并指导如何通过时序报告验证约束效果,是解决FPGA高速接口时序问题的实战指南。

ee345的博客 252

基于Android平台下的健康管理APP/基于android的健康管理系统

随着网络科技的发展,移动智能终端逐渐走进人们的视线,相关应用越来越广泛,并在人们的日常生活中扮演着越来越重要的角色。因此,关键应用程序的开发成为影响移动智能终端普及的重要因素,设计并开发实用、方便的应用程序具有重要的意义和良好的市场前景。Android技术作为当前最流行的操作平台,自然也存在着大量的应用服务需求。 本课题研究的是基于Android技术平台的健康管理APP,开发这款健康管理APP主要是为了帮助用户可以不用约束时间与地点进行所需信息。本文详细讲述了健康管理APP的界面设计及使用,主要包括界面的

m0_73706453的博客 1438

【Java.Web】Servlet —— Servlet的类的体系结构

Windows下安装WebLogic:

王晓斌的专栏 1万+

开源ISP介绍(1)——开源ISP的Vivado框架搭建

ZYNQ视频图像处理系统,ISP图像处理硬件实现

路漫漫其修远兮,吾将上下而求索 3288

【JavaWeb学习笔记】 9 - Servlet的相关类--ServletConfig、ServletContext、HttpServletRequest

1. ServletContext是一个接口, 它表示Servlet上下文对象2.一个web工程,只有一 一个ServletContext对象实例3. ServletContext对象是在web工程启动的时候创建,在web工程停止的时销毁4. ServletContext对象可以通过 ServletConfig.getServletContext() 方法获得对ServletContext对象的引用,也可以通过this.getServletContext()来获得其对象的引用。

qq_41891655的博客 1461

HyperMesh二次开发实战:自动化Comp与材料属性批量绑定

本文详细介绍了HyperMesh二次开发中自动化Comp与材料属性批量绑定的实战技巧。通过TCL脚本实现批量创建属性卡、智能材料分配和异常处理,大幅提升前处理效率,适用于汽车、航空航天等领域的复杂模型处理。

weixin_29214691的博客 691

遇到问题--OpenClaw--API rate limit reached. Please try again later429 您的账户已达到速率限制,请您控制请求频率

OpenClaw调用glm-4.7-flash模型时触发智谱AI平台429速率限制错误。分析发现当前重试策略采用固定间隔(7-11秒)导致连续失败,且未记录关键响应头信息。解决方案分三步:1)开启响应头日志获取配额详情;2)将重试策略改为带抖动的指数退避(初始1秒,最大60秒);3)在网关层实现令牌桶限流主动控制请求频率。需特别注意令牌配额(TPM)可能比请求次数(RPM)更早触达限制。

直到世界的尽头 2622

Servlet生命周期详解与图解

Servlet运行在Servlet容器中,其生命周期由容器来管理。 Servlet的生命周期通过javax.servlet.Servlet接口中的init()、service()和destroy()方法来表示。 Servlet的生命周期包含了下面4个阶段: 一、加载和实例化 Servlet容器负责加载和实例化Servlet。当Servlet容器启动时,或者在容器检测到需要这个Servlet

北巷东东的专栏 1275

实时多目标跟踪(MOT):SORT与DeepSORT优化

实时多目标跟踪(MOT):SORT与DeepSORT优化​ ,人工智能,计算机视觉,大模型,AI,本文围绕实时多目标跟踪中的 SORT 与 DeepSORT 算法展开,阐述了两者原理、实现及优化。SORT 结合卡尔曼滤波和匈牙利算法,依赖目标检测,实时性好但复杂场景表现欠佳。DeepSORT 在其基础上引入外观特征,采用级联匹配,提升了跟踪精度和鲁棒性。还探讨了两种算法在检测、运动模型、外观特征等方面的优化方向,以及应用场景与选择建议,为相关应用和研究提供参考。

不踩坑,不知道坑有多深;不总结,踩过的坑白踩。 20万+

一招学会idea中用使用Servlet连接mysql,超级详解(图解)

本文依托于`Tomcal`,使用`Servlet`连接到`mysql`。实现将数据库中的内容打印在页面上。

mo_xiao_yang的博客 2324

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

Servlet详解(原理,生命周期及其方法介绍,继承关系图解,HttpServlet,域对象ServletContext,文件类型getMimeType,文件真实路径:getRealPath())

什么是Servlet Servlet是一种独立于平台和协议的服务器端的Java技术,可以用来生成动态的Web页面。 Servlet定义了一个类被浏览器访问的规则,它是一个接口,功能:接受请求,处理请求,做出响应。 Servlet是使用Java Servlet应用程序设计接口(API)及相关类和方法的Java程序。 Servlet主要用于处理客户端传来的HTTP请求,并返回一个响应。通常Servlet是指HttpServlet,用于处理Http请求。能够处理的请求有:doGet() doPost() se

骑着蜗牛行天下 776

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

Servlet生命周期详解

Servlet常见面试题及Servlet生命周期详解

心若向阳 无谓悲伤 2万+

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

servlet图解详情

一、Web服务器 从事web开发的人,会很清楚一个东西叫 Web服务器,比如JEE开发—Tomcat,Jetty,.NET开发—ISS等。HTTP服务器是使用 HTTP(超文本传输协议) 与客户机浏览器进行信息交流。下面就是HTTP服务器简单交互图:(来自[JavaEE 要懂的小事] Http相关 博客) HTTP服务器是Web服务器的一种,也是开发最常见的,自然还有其他方式进行信息交互,...

weixin_40282796的博客 487

Servlet生命周期及Servlet类详解

文章目录一.面试常考问题二.Servlet详解(1)什么是Servlet类(2)Servlet类创建(3)Servlet接口(4)Servlet请求响应流程:(5)tomcat和servlet的关系 一.面试常考问题 问题1:请回答Servlet生命周期? Servlet是单实例多线程的,自始至终只会创建一个对象来响应用户请求。 ①如果web.xml中没有配置load-on-star...

末尾卡片和博主交流学习! 1681

javaWeb之Servlet详解

Servlet详解 1.servlet简单介绍   servlet是javaweb三大组件之一,他与filter ,listener 共同组成了javaweb的三大组件,Servlet(Server Applet)是Java Servlet的简称,解释为运行在服务器端的java小程序,   作用:用来接收客户端的请求,处理业务逻辑,响应动态内容 2.使用   创建一个java类,实现...

猿上生活 398

Servlet运行原理图解

CSNZのBlog 489

JavaWeb之Servlet 图文详解

Servlet 文章目录Servlet1,Servlet简介1.1,Servlet1.2,编写Servlet的方法2,Servlet源码分析3,编写第一个Servlet4,Servlet原理5,Mapping6,ServletContext6.1,servletContext是一个域对象6.2,可以读取全局配置参数6.3,可以搜索当前工程目录下面的资源文件6.4,可以获取当前工程名字6.5,请求转...

weixin_45845042的博客 973

java web中servlet详解_javaWeb之Servlet详解

Servlet详解1.servlet简单介绍servlet是javaweb三大组件之一,他与filter ,listener 共同组成了javaweb的三大组件,Servlet(Server Applet)是Java Servlet的简称,解释为运行在服务器端的java小程序,作用:用来接收客户端的请求,处理业务逻辑,响应动态内容2.使用创建一个java类,实现Servlet接口,重写抽象方法...

weixin_33410492的博客 991

图解WildFly8之Servlet容器Undertow剖析

WildFly8的默认Servlet容器采用的不是Tomcat,也不是Jetty,而是JBoss自己开源的Undertow,Undertow是用Java编写的性能灵活的Servlet容器,底层基于高性能的NIO框架XNIO,XNIO也是JBoss开源的产品,JBoss开源的高性能NIO框架还有一个很有名:Netty。Undertow在WildFly8中的角色如图: Undertow的架构

Vince的修炼之路 8605

Servlet掌握 Cookie图解

Servlet的生命周期 Servlet是一个继承了HttpServlet的类文件 servlet是服务器小应用程序 Servlet API为Servlet提供了统一的编程接口 Servlet一般在容器中运行 常见的Servlet容器Tomcat, Jetty / Resin Servlet生命全过程: 指Servlet对象在服务器内存中从创建到调用,到销毁的整个过程 ...

dgirbxg2274的博客 142

Servlet图解

参考 说说Servlet 生命周期、工作原理 理解Servlet和Servlet容器、Web服务器等概念 Servlet容器与Web容器

虾米馅煎包的博客 751

【图解】tomcat servlet处理并发请求

Each request is processed in a separated thread. This doesn't mean Tomcat creates a new thread per request. There is a pool of threads to process requests. Also there is a single instance for each servlet and this is the default case.(Some more information

子燕若水的博客 1057
上一篇: java clone方法使用详解
下一篇: Ajax 原理图解
ichsonx
博客等级 码龄19年 202粉丝 74原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值