Serverlet理解

Serverlet理解部分转载自 https blog csdn net javaloveipho article details 从上图可以看出 Tomcat 的容器分为四个等级 真正管理 Servlet 的容器是 Context 容器 一个 Context 对应一个 Web 工程 除了将 Servlet 包装成 StandardWrap 并作为子容器添加到 Context 中 其它的

部分转载自:https://blog.csdn.net/javaloveiphone/article/details/

Serverlet理解

从上图可以看出 Tomcat 的容器分为四个等级,真正管理Servlet 的容器是Context 容器,一个 Context 对应一个 Web 工程。除了将 Servlet 包装成 StandardWrapper 并作为子容器添加到 Context 中,其它的所有 web.xml 属性都被解析到 Context 中,所以说 Context 容器才是真正运行 Servlet Servlet 容器。一个 Web 应用对应一个 Context 容器,容器的配置属性由应用的 web.xml 指定,这样我们就能理解 web.xml 到底起到什么作用了。

Web服务器在与客户端交互时.Servlet的工作过程是:

1.     在客户端对web服务器发出请求

2.     web服务器接收到请求后将其发送给Servlet

3.     Servlet容器为此产生一个实例对象并调用ServletAPI中相应的方法来对客户端HTTP请求进行处理,然后将处理的响应结果返回给WEB服务器.

4.     web服务器将从Servlet实例对象中收到的响应结构发送回客户端.

以下是我对Serverlet的一些总结:

在第一次请求到来时调用init()方法进行一次创建和初始化,可以在web.xml中对Serverlet进行初始化赋参,然后调用getInitParameter(String name)进行初始化的参数调用。当长时间不使用或web服务器关闭时serverlet会被销毁destroy()。

而具体解析请求如下:

Serverlet理解

1.     web客户向Servlet容器发出HTTP请求;

2.     Servlet容器解析webHTTP请求.

3.     Servlet容器创建一个HttpRequest对象,在这个对象中封装了http请求信息;

4.     Servlet容器创建一个HttpResponse对象;

5.     Servlet容器(如果访问的该servlet不是在服务器启动时创建的,则先创建servlet实例并调用init()方法初始化对象)调用HttpServletservice()方法,HttpRequestHttpResponse对象为service方法的参数传给HttpServlet对象;

6.     HttpServlet调用HttpRequest的有关方法,获取HTTP请求信息;

7.     HttpServlet调用HttpResponse的有关方法,生成响应数据;

8.    Servlet容器把HttpServlet的响应结果传给web客户

也就是说在HTTPServerlet中,service方法是处理逻辑的关键,service方法调用时收到上层传递的HttpRequestHttpResponse参数,前者包含客户端传递的参数,后者用于回传给客户端

18.12.17 发现前面对serverlet的理解还是很浅,补一篇博客:

https://blog.csdn.net/jinfulin/article/details/ 详细的一篇讲解serverlet的博客。

https://www.cnblogs.com/xdp-gacl/p/3760336.html 开发serverlet再倒回来细看这篇博客,以下图截至此博客。

Serverlet理解

Serverlet理解

Serverlet理解

Serverlet理解

Serverlet理解Serverlet理解

Serverlet理解

Serverlet理解

serverlet调用图:

Servletè°ç¨å¾

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/210542.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月19日 上午7:26
下一篇 2026年3月19日 上午7:26


相关推荐

  • EVE模拟器的使用-带图超详细(学网络用)「建议收藏」

    EVE模拟器的使用-带图超详细(学网络用)「建议收藏」文章目录EVE模拟器的安装EVE模拟器的使用登陆添加一个实验退出一个实验实验分类创建任务(添加路由交换机)选择型号和种类说明修改已创建种类参数界面放大和缩小方式一方式二种类(设备)之间连线和删除连线连线删线添加注释信息(描述)设备开机开启单个设备开启所有设备设备功能配置软件抓包EVE模拟器的安装EVE模拟器的下载及安装见:EVE模拟器的使用登陆根据上面安装步骤进入到这个界面以后:用户名:admin密码:unl(小写L)登陆方式:Nativeconsole登陆成功以后就是这个界面:添

    2022年4月27日
    487
  • idea怎么查看maven版本_maven项目中plugins爆红

    idea怎么查看maven版本_maven项目中plugins爆红idea查看maven版本idea查看maven版本

    2025年7月8日
    8
  • JVM之内存结构详解

    JVM之内存结构详解对于开发人员来说,如果不了解Java的JVM,那真的是很难写得一手好代码,很难查得一手好bug。同时,JVM也是面试环节的中重灾区。今天开始,《JVM详解》系列开启,带大家深入了解JVM相关知识。我们不能为了面试而面试,但是学习会这些核心知识你必定会成为面试与工作中“最亮的一颗星”。本系列首发于微信公众号“程序新视界”。下面,开启我们的第一篇文章《JVM之内存结构详解》。学习也是要讲究方式方法…

    2022年6月11日
    26
  • 轻量级web开发框架:Flask 基础教程

    轻量级web开发框架:Flask 基础教程Flask 简介什么是 Flask Flask 是一个用 Python 编写的 Web 应用程序框架 Flask 基于 Werkzeug WSGI 工具包 和 Jinja2 模板引擎 什么是 WebFramework WebApplicati Web 应用程序框架 或简单的 WebFramework Web 框架 表示一个库和模块的集合 使 Web 应用程序开发人员能够编写应用程序 而

    2026年3月26日
    3
  • Spring Boot:jar中没有主清单属性[通俗易懂]

    Spring Boot:jar中没有主清单属性[通俗易懂]使用SpringBoot微服务搭建框架,在eclipse和Idea下能正常运行,但是在打成jar包部署或者直接使用java-jar命令的时候,提示了xxxxxx.jar中没有主清单属性:D:\hu-git\spring-xxx-xxx\target>java-jarspring-cloud-eureka-0.0.1-SNAPSHOT.jarspring-xxx-xxx-0.

    2025年9月15日
    10
  • 游戏框架概念

    游戏框架概念游戏框架概念 nbsp nbsp nbsp nbsp nbsp nbsp nbsp 游戏中一个系统的搭建很重要 一个模块的创建是否成功 直接影响你后续维护和扩展的成本 要有模块化思想 考虑耦合度 使用方便与否 扩展方便与否 用户体验怎么样 资源模块 nbsp nbsp nbsp nbsp 一个系统首先要有资源 资源分为 UI 和模型 管理资源模块 Facade nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp 用于处理资源 nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp 资源的加载模块 ObjManager nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp 创建资源模块 Re

    2026年3月18日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号