servlet容器开发要点

时间:2022-09-17 22:16:54
  1. v1 是一个http服务器.
  2. v2 是一个servlet容器, 可以提供servlet的服务.   =>  动态load servlet字节码,并运行它( 按生命周期).
  3. servlet容器它来控制servlet的生命周期.
  4. Servlet类必须要实现一个接口  Servlet , 提供所有的Servlet都要有的方法( 生命周期)
  5. 对于要处理的资源有两种: 静态资源/动态资源.    定义一个接口,写两个实现.

动态资源:     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类:

servlet容器开发要点

servlet容器开发要点的更多相关文章

  1. nginx unit 1.8 支持基于java servlet 的开发模型

    最近unit 1.8 发布了,有两个比较大的新特性,内部请求路由,以及java servlet 容器应用的开发 内部请求路由配置参考 { "routes": [ { "m ...

  2. JavaWeb开发之详解Servlet及Servlet容器

    自JavaEE诞生伊始,Servlet容器和Servlet技术,就构成了JavaEE应用的核心,配合其它组件,它们完善了Java企业级开发的全套解决方案.小到一个静态博客网站,大到分布式的集群应用,都 ...

  3. 19. SpringBoot_web开发-使用外部Servlet容器&JSP支持

    還沒有web.xml,生  配置tomcat 嵌入式Servlet容器:应用打成可执行的jar 优点:简单.便携: 缺点:默认不支持JSP.优化定制比较复杂 使用定制器[ServerPropertie ...

  4. (7)Spring Boot web开发 --- servlet容器

    文章目录 配置嵌入式 Servlet 容器 注册 三大组件 使用其他 servlet 容器 使用外置的 `Servlet` 容器 配置嵌入式 Servlet 容器 Spirng Boot 默认使用自带 ...

  5. springboot开发之使用外部servlet容器及对jsp的支持

    一般而言,springboot是使用自己内嵌的servlet容器,比如tomcat等等,而且默认的模板引擎是thymeleaf,那么如何让springboot使用外部的servlet容器并支持对jsp ...

  6. 深入剖析tomcat之一个简单的servlet容器

    上一篇,我们讲解了如果开发一个简单的Http服务器,这一篇,我们扩展一下,让我们的服务器具备servlet的解析功能. 简单介绍下Servlet接口 如果我们想要自定义一个Servlet,那么我们必须 ...

  7. servlet的开发流程介绍

    servlet的开发部署流程 1.在%TOMCAT_HOME%/webapps下WEB-INF的文件夹,写一个文件web.xml(该网站的配置信息),建立一个classes的子文件夹,也可以从别的目录 ...

  8. Java使用Jetty实现嵌入式Web服务器及Servlet容器

     Jetty是一个Java实现的开源的servlet容器,它既可以像Tomcat一样作为一个完整的Web服务器和Servlet容器,同时也可以嵌入在Java应用程序中,在Java程序中调用Jetty. ...

  9. Servlet容器的启动(Tomcat为例)

    一.容器简介 在tomcat容器等级中,context容器直接管理servlet在容器中的包装类Wrapper,所以Context容器如何运行将直接影响servlet的工作方式. tomcat容器模型 ...

随机推荐

  1. trie树模型

    可以用来表达所有的0,1选择..或者多阶段有限字符集的表达

  2. PHP版QQ互联OAuth示例代码分享

    )   {     $ch = curl_init();     if(! $flag) curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);     cu ...

  3. JSP脚本元素上机手册

    L3 <JSP基础>上机手册 内容回顾 脚本元素<%! %> <%= %> <% %> 注释元素 JSP指令元素 JSP动作元素 上机目标 掌握脚本元素 ...

  4. TypeScript设计模式之策略、模板方法

    看看用TypeScript怎样实现常见的设计模式,顺便复习一下. 学模式最重要的不是记UML,而是知道什么模式可以解决什么样的问题,在做项目时碰到问题可以想到用哪个模式可以解决,UML忘了可以查,思想 ...

  5. 使用sed命令向文件中追加可变字符串

    1.如何向文件追加可变字符串,有如下两种方法 sed -i '1a '$s'' filename sed -i "1a $s" filename 注意: 以上命令是假定向文件fil ...

  6. MySQL之InnoDB数据页结构&lpar;转自掘金小册 MySQL是怎样运行的,版权归作者所有!&rpar;

    InnoDB为了不同的目的而设计了不同类型的页,我们把用于存放记录的页叫做数据页. 一个数据页可以被大致划分为7个部分,分别是 File Header,表示页的一些通用信息,占固定的38字节. Pag ...

  7. &lbrack;luogu5077&rsqb;&lbrack;Tweetuzki 爱等差数列&rsqb;

    题目链接 思路 数学题 首先列出等差数列求和的式子. \[S = \frac{(n + m)(n - m + 1)}{2}(n为末项,m为首项)\] \[S * 2= (n + m)(n - m + ...

  8. Vue常见组件

    每一个组件都是一个vue实例 每个组件均具有自身的模板template,根组件的模板就是挂载点 每个组件模板只能拥有一个根标签 子组件的数据具有作用域,以达到组件的复用 根组件 <div id= ...

  9. &lt&semi;创新思维与实践&gt&semi;总结梳理

    2017年12月3-4号 培训了两天的创新思维与实践,有时间要补充总结一下. ---todo

  10. ffmpeg&lowbar;资料&lowbar;01

    1. 用ffmpeg制作推流工具,实现推流系统声音和桌面到rtmp服务器-CSDN论坛-CSDN.NET-中国最大的IT技术社区.html http://bbs.csdn.net/topics/392 ...