servlet容器开发要点
- v1 是一个http服务器.
- v2 是一个servlet容器, 可以提供servlet的服务. => 动态load servlet字节码,并运行它( 按生命周期).
- servlet容器它来控制servlet的生命周期.
- Servlet类必须要实现一个接口 Servlet , 提供所有的Servlet都要有的方法( 生命周期)
- 对于要处理的资源有两种: 静态资源/动态资源. 定义一个接口,写两个实现.
动态资源: http://localhost:8888/servlet/hello
GET /servlet/hello HTTP/1.1
静态资源: http://localhost:8888/index.html
GET /index.html HTTP/1.1
=> 将这种处理定义成一个接口 Processor ( process() ) -> StaticProcessor
-> DynamicProcessor
Servlet运行;
第一次访问: 构造方法 -> init() -> service() -> doGet()/doPost()
第二次访问: -> service() -> doGet()/doPost()
get
http://localhost:8080/servlet/Hi?name=zy&age=20
GET /servlet/Hi?name=zy&age=20
功能:
1. 等待http请求, 接收请求,做一些解析 -> uri ( 静态资源/动态资源)
2. 解析http请求, 构造成一个 HttpServletRequest对象, HttpServletResponse对象.
3. 判断请求的资源的类型静态的资源/动态的资源 , 静态的资源 -> StaticProcessor类
动态资源 -> DynamicProcessor类, 必须要有 Request和Response对象
4. 动态加载Servlet的字节码,并调用service() -> 判断请求的方法, 调用对应的 Servlet中的doGet()/doPost()
由以下的类和接口组成:
HttpServer
ServerService
ServletRequest接口 -> HttpServletRequest类
ServletResponse接口 -> HttpServletResponse类
Processor接口 ( process( Request, Response) ) -> 静态资源 : StaticProcessor类
动态资源 : DynamicProcessor类
Servlet接口: 定义生命周期方法
TomcatConstants类:
转载于:https://www.cnblogs.com/yaobolove/p/4979476.html
servlet容器开发要点相关推荐
- 【spring boot2】第8篇:spring boot 中的 servlet 容器及如何使用war包部署
嵌入式 servlet 容器 在 spring boot 之前的web开发,我们都是把我们的应用部署到 Tomcat 等servelt容器,这些容器一般都会在我们的应用服务器上安装好环境,但是 spr ...
- Java使用Jetty实现嵌入式Web服务器及Servlet容器
Jetty是一个Java实现的开源的servlet容器,它既可以像Tomcat一样作为一个完整的Web服务器和Servlet容器,同时也可以嵌入在Java应用程序中,在Java程序中调用Jetty. ...
- 熵增学院-Anders-剑走偏锋,了解Spring Boot内部Servlet容器
2019独角兽企业重金招聘Python工程师标准>>> 还记得大明湖畔的servlet吗?其实Spring Boot支持内嵌的Tomcat, Jetty和Undertow服务器,多数 ...
- Spring boot配置Servlet容器
配置Servlet容器 Spring boot默认使用Tomcat,作为Servlet容器 也支持Jetty.Undertow作为Servlet容器 Jetty 适合开发长连接应用 长连接,表示一直进 ...
- servlet容器_Servlet详解(一)之基本概念
天天学,应该把这些基本spring底层概念了解下,更好的理解我们常用框架的套路. 1.Servlets是SUN公司指定的一套开发动态网页的技术.一般JavaEE相关的类,都是以javaX开头 2. S ...
- 图解WildFly8之Servlet容器Undertow剖析
Undertow简介 Undertow 是RedHat(红帽公司)的开源产品,采用 Java 开发的灵活的高性能 Web 服务器,提供包括阻塞和基于 NIO 的非堵塞机制. WildFly8的默认Se ...
- java web分享ppt大纲 -- servlet容器简介
今天在公司分享了java web的ppt,把ppt大纲放在这里,希望可以帮助需要的人 servlet容器简介 定义 狭义上的,servlet容器为java Web应用提供运行时环境,负责管理servl ...
- SpringBoot 配置嵌入式Servlet容器(tomcat,jetty,undertow)
SpringBoot 默认打包方式为jar包,且可以自启动,就是因为它内嵌了Servlet容器. SpringBoot 默认使用嵌入式Servlet容器,SpringBoot 2.2.5 默认是 To ...
- 使用JSP/Servlet技术开发新闻发布系统
第一章:动态网页开发基础 动态网页:是指在 服务器端运行的,使用程序语言设计的交互式网页,它们会根据某种条件的变化,返回不同的网页内容 动态网页需要使用服务器端的脚本语言,例如 ...
最新文章
- flume 1.7在windows下的安装与运行
- linux下SublimeText的中文输入法问题之解决方案
- Ceph 时钟偏移故障处理
- oracle插入性能优化,Oracle- insert性能优化
- msp430项目编程14
- Swift - 发送消息(文本,图片,文件等)给微信好友或分享到朋友圈
- SVD(6.5.1定理证明观察3)
- 送书丨《架构解密:从分布式到微服务》
- m5310模组数据上传至onenet_彻底火了的NB-IoT突破1亿大关(附最新芯片和模组厂)!...
- 关于AngularJs中$http post、get 发送和接受参数详解
- (5) 学习笔记_numpy
- 分享磁盘空间不足的5个处理方法
- workman 搭建tcp服务器,和websocket互相通信
- phalcon mysql in_phalcon:跟踪sql语句
- js中 0 +0 -0 有什么区别?
- 索骥馆-网络营销之《锦囊妙计 网站推广101招 第7版》扫描版[PDF]
- 华三交换机模拟器搭建和使用
- 仿花瓣网html模板,仿花瓣网的自动悬浮导航效果 jquery
- mixins的实用案例和常见问题
- 在4G网络下GPS定位器汽车进行动力控制(断油断电)工作原理
热门文章
- java元类_元类 - 一心不乱 - 博客园
- mysql 5.7日志的种类_MySQL中的六种日志类型的介绍
- node.js打开指定浏览器的四种方式
- 如何搭建VUE环境?
- minetest Window编译运行
- 安卓导航车机root方法_远程调试在Linux车机中的应用
- python的变量名可以是中文吗_Python中用中文变量名、函数名,会影响性能吗?
- one邮箱服务器端口,oneinstack 设置远程访问,将端口对外开放
- matlab移动文件到另一个文件夹里,Matlab将文件分类移动到不同文件夹中
- 在centos7安装nodejs并升级nodejs到最新版本