目录

一.Servlet定义

二.Servlet方法

三.GenericServlet抽象类

四.HttpServlet抽象类

五.Servlet生命周期

六.Server 创建一个 Servlet的实例


一.Servlet定义

Servlet(Server Applet)是Java Servlet的简称,称为小服务程序或服务连接器,用Java编写的服务器端程序,具有独立于平台和协议的特性,主要功能在于交互式地浏览和生成数据,生成动态Web内容。

狭义的Servlet是指Java语言实现的一个接口,广义的Servlet是指任何实现了这个Servlet接口的类,一般情况下,人们将Servlet理解为后者。Servlet运行于支持Java的应用服务器中。从原理上讲,Servlet可以响应任何类型的请求,但绝大多数情况下Servlet只用来扩展基于HTTP协议的Web服务器。

最早支持Servlet标准的是JavaSoft的Java Web Server,此后,一些其它的基于Java的Web服务器开始支持标准的Servlet。

Servlet就是java中处理http请求的技术。

二.Servlet方法

1.init方法:初始化Servlet

2.service方法:处理http请求,并返回响应

有两个参数 1.请求:request 2.响应:response

3.destory方法:销毁Servlet

三.GenericServlet抽象类

是一个抽象类,实现了Servlet接口.

四.HttpServlet抽象类

是GennricServlet的子类,与HTTP有关,没有实现init和destory,主要是对service方法的重写

五.Servlet生命周期

  1. 客户端请求该 Servlet;

  2. 加载 Servlet 类到内存;

  3. 实例化并调用init()方法初始化该 Servlet;

  4. service()(根据请求方法不同调用doGet() 或者 doPost(),此外还有doHead()、doPut()、doTrace()、doDelete()、doOptions()、destroy())。

  5. 加载和实例化 Servlet。这项操作一般是动态执行的。然而,Server 通常会提供一个管理的选项,用于在 Server 启动时强制装载和初始化特定的 Servlet。

六.Server 创建一个 Servlet的实例

第一个客户端的请求到达 Server

Server 调用 Servlet 的 init() 方法(可配置为 Server 创建 Servlet 实例时调用,在 web.xml 中 标签下配置 标签,配置的值为整型,值越小 Servlet 的启动优先级越高)

一个客户端的请求到达 Server

Server 创建一个请求对象,处理客户端请求

Server 创建一个响应对象,响应客户端请求

Server 激活 Servlet 的 service() 方法,传递请求和响应对象作为参数

service() 方法获得关于请求对象的信息,处理请求,访问其他资源,获得需要的信息

service() 方法使用响应对象的方法,将响应传回Server,最终到达客户端。service()方法可能激活其它方法以处理请求,如 doGet() 或 doPost() 或程序员自己开发的新的方法。

对于更多的客户端请求,Server 创建新的请求和响应对象,仍然激活此 Servlet 的 service() 方法,将这两个对象作为参数传递给它。如此重复以上的循环,但无需再次调用 init() 方法。一般 Servlet 只初始化一次(只有一个对象),当 Server 不再需要 Servlet 时(一般当 Server 关闭时),Server 调用 Servlet 的 destroy() 方法。

如图1所示显示了一个典型的 Servlet 生命周期方案:

图1:典型的 Servlet 生命周期

1.第一个到达服务器的 HTTP 请求被委派到 Servlet 容器。

2.Servlet 容器在调用 service() 方法之前加载 Servlet。

3.然后 Servlet 容器处理由多个线程产生的多个请求,每个线程执行一个单一的 Servlet 实例的 service() 方法。

什么是Servlet相关推荐

  1. Ajax接收Java异常_java – 处理来自Servlet的Jquery AJAX响应中的异常

    我的servlet代码是 try{ //something response.setStatus(201); out.print("Data successfully saved" ...

  2. JavaEE学习笔记之Servlet

    同一用户的不同页面的共享数据 1.1 cookie技术 1.2 sendRedirect()转向 1.3 隐藏表单 1.4 session技术 ###session技术: 当用户打开浏览器,访问某个网 ...

  3. 【JavaWeb】servlet与http请求协议

    Servlet: 概念: server applet (服务端小程序)运行在服务器端的小程序 Servlet就是一个接口,定义了Java类被浏览器访问到(Tomcat识别)的规则. 将我我们自定义一个 ...

  4. 使用最新版(2020)IntelliJ IDEA 创建Servlet项目

    一:选择左上端的File,创建Project,选择创建Web Application 项目: 注:不勾选Create web.xml 二:设置项目名称:helloworld,并创建一个Servlet( ...

  5. 2020了,还要学JSP嘛?入个门呗!毕竟Servlet亲兄弟~

    目录 1.什么是JSP 2.JSP原理 3.JSP基础语法 jsp表达式 jsp脚本片段 jsp声明 jsp注释 4.JSP指令 5.JSP行为 6.9大内置对象 7.EL表达式 格式 变量 [ ]与 ...

  6. 来谈谈Servlet~~

    目录 1.Servlet简介 2.第一个Servlet程序 3.Servlet原理 4.servlet-mapping的配置 5.关于ServletContext 1.共享数据 2.获取初始化参数 3 ...

  7. 使用Servlet完成单表的CRUD

    实现步骤 第一步:准备一张数据库表.(sql脚本) 第二步:准备一套HTML页面(项目原型)[前端开发工具使用HBuilder] 第三步:分析我们这个系统包括哪些功能 第四步:在IDEA当中搭建开发环 ...

  8. 适配器(GenericServlet)改造Servlet

    JavaWeb系列教程 JavaWeb-Servlet 模拟Servlet本质 使用IDEA开发Servlet程序 Servlet对象的生命周期 适配器(GenericServlet)改造Servle ...

  9. 使用IDEA开发Servlet程序

    JavaWeb系列教程,持续更新 JavaWeb-Servlet 模拟Servlet本质 使用IDEA开发Servlet程序 Servlet对象的生命周期 适配器(GenericServlet)改造S ...

  10. 模拟Servlet本质

    JavaWeb系列教程,持续更新 JavaWeb-Servlet 模拟Servlet本质 使用IDEA开发Servlet程序 Servlet对象的生命周期 适配器(GenericServlet)改造S ...

最新文章

  1. thinkphp整合系列之gulp实现前端自动化
  2. pythonasyncio在哪个版本好_理解Python asyncio的简洁方式
  3. SAP Spartacus table里显示较长数据时自动显示省略号的设置
  4. 经验 | 上交机械本硕转计算机视觉岗位面经
  5. strlen函数实现
  6. linux下 java 压缩文件夹,java压缩文件夹linux下乱码问题
  7. 拓扑学(代数拓扑学)的有趣应用
  8. Repast-边界控制
  9. 对接微信支付服务商后商户能得到哪些服务?
  10. GPS经纬度 转化为 M
  11. coreutils8.32 hostid命令和源码分析
  12. [BJWC2008]王之财宝
  13. 专访Barefoot:被Intel收购后的五倍爆发力
  14. 打卡day07 python基础—函数
  15. 通过Safari浏览器获取iOS设备UDID(设备唯一标识符)
  16. 简易封装 element form表单
  17. 基于hls格式的光条检测纯c++代码——重心法
  18. 2006.7-8,九方公司网站维护
  19. CW1233\CW1243\CW1053\CW1056\赛威一级代理\锂电池保护IC\中文规格书
  20. Node js 集群(cluster)

热门文章

  1. 数据分析岗位需求分析报告
  2. P2525 Uim的情人节礼物·其之壱
  3. 双向晶闸管,调压电路,开关电路,楼梯灯电路,光控路灯,无电弧接触器电路
  4. Python实现批量导入Markdown文件到WordPress(博客搬家工具,代码已开源)
  5. 如何在iPhone上安装Skype?
  6. python grasshopper_Grasshopper操作shp
  7. 浅蓝色学校网站模板_学校网站源码_适用高中,中学,小学学校网站建设
  8. 腾讯翻译君 VS 谷歌翻译
  9. Jersey MongoDB的使用
  10. yum指令安装失败,或导致图形界面黑屏如何解决