Java Web 深入分析 Servlet工作原理解析

Posted 言非言

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java Web 深入分析 Servlet工作原理解析相关的知识,希望对你有一定的参考价值。

Servlet

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

Servlet容器

  • servlet容器启动过程:
    在tomcat容器管理等级中,Context直接管理着Servlet在容器中的包装类Wrapper,所以Servelt容器如何运行就影响这servlet,下面就是servlet容器启动过程
    Servlet容器启动时,触发servletContextEvent事件,并通知相应的监听器servletContextListener;
    Servlet容器在启动的过程中通过servletContextListener监视servletContext的状态(初始化或者销毁servletContext);
    servletContextListener中通过contextInitialized初始化方法,根据web.xml对servletContext进行配置,即将Context容器的属性缓存在内存中,供Service服务利用;
  • web应用初始化工作:
    web的初始化是在contextConfig中实现的,应用的初始化主要是对web.xml进行解析,这个文件描述了Web应用的关键信息,也是整个Web应用的入口。
    Tomcat将web.xml文件解析后,将其中的属性设置到Context容器中,这里包括创建Servlet实例,Filter和Listener。将Servlet包装成Context中的包装类Wrapper。

Servlet实例

  • 创建Servlet对象
    如果Servlet在web.xml中load-on-startup的配置大于0,那么在Context容器启动时就会被实例化。
  • 初始化Servlet
    通过调用Servlet的init方法,同时把包装了StandarWrapper对象的StandarWrapperFacade作为ServletConfig传给Servlet。
    Servlet从web.xml被解析到初始化。ServletConfig 和 ServletContext的区别ServletConfig:从一个servlet被实例化后,对任何客户端在任何时候访问有效,但仅对本servlet有效,一个servlet的ServletConfig对象不能被另一个servlet访问。

Servlet体系结构

Servlet如何工作

Servlet中的Listener

Filter如何工作

Servlet中的url-pattern

以上是关于Java Web 深入分析 Servlet工作原理解析的主要内容,如果未能解决你的问题,请参考以下文章

深入分析Java Web技术内幕

熟悉基于JSP和Servlet的Java Web开发,对Servlet和JSP的工作原理和生命周期有深入了解,熟练的使用JSTL和EL编写无脚本动态页面,有使用监听器过滤器等Web组件以及MVC架构

Servlet工作原理(读许令波《深入分析javaWeb技术内幕》)笔记

详解Spring mvc工作原理及源码分析

Java web每天学之Servlet工作原理详情解析

JAVA Web工作原理