什么是Servlet
目录
一.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生命周期
客户端请求该 Servlet;
加载 Servlet 类到内存;
实例化并调用init()方法初始化该 Servlet;
service()(根据请求方法不同调用doGet() 或者 doPost(),此外还有doHead()、doPut()、doTrace()、doDelete()、doOptions()、destroy())。
加载和实例化 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相关推荐
- Ajax接收Java异常_java – 处理来自Servlet的Jquery AJAX响应中的异常
我的servlet代码是 try{ //something response.setStatus(201); out.print("Data successfully saved" ...
- JavaEE学习笔记之Servlet
同一用户的不同页面的共享数据 1.1 cookie技术 1.2 sendRedirect()转向 1.3 隐藏表单 1.4 session技术 ###session技术: 当用户打开浏览器,访问某个网 ...
- 【JavaWeb】servlet与http请求协议
Servlet: 概念: server applet (服务端小程序)运行在服务器端的小程序 Servlet就是一个接口,定义了Java类被浏览器访问到(Tomcat识别)的规则. 将我我们自定义一个 ...
- 使用最新版(2020)IntelliJ IDEA 创建Servlet项目
一:选择左上端的File,创建Project,选择创建Web Application 项目: 注:不勾选Create web.xml 二:设置项目名称:helloworld,并创建一个Servlet( ...
- 2020了,还要学JSP嘛?入个门呗!毕竟Servlet亲兄弟~
目录 1.什么是JSP 2.JSP原理 3.JSP基础语法 jsp表达式 jsp脚本片段 jsp声明 jsp注释 4.JSP指令 5.JSP行为 6.9大内置对象 7.EL表达式 格式 变量 [ ]与 ...
- 来谈谈Servlet~~
目录 1.Servlet简介 2.第一个Servlet程序 3.Servlet原理 4.servlet-mapping的配置 5.关于ServletContext 1.共享数据 2.获取初始化参数 3 ...
- 使用Servlet完成单表的CRUD
实现步骤 第一步:准备一张数据库表.(sql脚本) 第二步:准备一套HTML页面(项目原型)[前端开发工具使用HBuilder] 第三步:分析我们这个系统包括哪些功能 第四步:在IDEA当中搭建开发环 ...
- 适配器(GenericServlet)改造Servlet
JavaWeb系列教程 JavaWeb-Servlet 模拟Servlet本质 使用IDEA开发Servlet程序 Servlet对象的生命周期 适配器(GenericServlet)改造Servle ...
- 使用IDEA开发Servlet程序
JavaWeb系列教程,持续更新 JavaWeb-Servlet 模拟Servlet本质 使用IDEA开发Servlet程序 Servlet对象的生命周期 适配器(GenericServlet)改造S ...
- 模拟Servlet本质
JavaWeb系列教程,持续更新 JavaWeb-Servlet 模拟Servlet本质 使用IDEA开发Servlet程序 Servlet对象的生命周期 适配器(GenericServlet)改造S ...
最新文章
- mongodb 与 mysql区别 NOSQL 型号与SQL型号的区别 是非关系型号与关系型号的区别
- 11.2.0.2 asmcmd lsdg show incorrect diskgroup number
- android webview实例,android WebView 使用实例
- HTML DOM 第五篇
- Raspberry学习——raspberry pi 3 截图及查看
- kaptchaCode(验证码)
- 使用sikuli和Arquillian测试HTML5 canvas应用程序
- dataTables本地刷新数据解决只能初始化一次问题
- 【Python CheckiO 题解】Popular Words
- c ++查找字符串_C ++结构| 查找输出程序| 套装2
- 关于信息熵的简单理解
- 二分法求函数的解(函数零点)
- 认识了解WMV 9 视频编解码器
- 【模型导出与部署】项目接口与百度机器人对接
- java计算机毕业设计快递配送平台源码+mysql数据库+系统+lw文档+部署
- 新买的电脑是win11系统,找不到DirectX工具?教你如何操作打开
- SQL Server计算一年中的第几周
- L1 loss 是什么
- 2022-2028全球汽车压力传感器行业发展现状调研及投资前景分析报告
- 转:美国我来了:飞去美国各个程序最全解读
热门文章
- 常见的windows蓝屏代码查询及处理
- java web程序设计郭_Java Web程序设计-(第2版)
- 操作系统课程设计 —— 模拟磁盘文件系统实现 (Java)
- Web版本的国际通讯工具合集
- Nero Burning ROM 2014 16.0.03000 精简安装版(功能最强大的光盘刻录软件)
- Excel任务该如何在FineReader 12中设置
- vb导出mysql字段名_VB获取数据库字段名
- 高通android刷机工具,高通android7.0刷机工具使用介绍
- Dash_API与必应翻译的综合使用
- 请问mac上下virtualBox之后无法安装VBoxGuestAdditions怎么办??