java web分享ppt大纲 -- servlet容器简介

时间:2022-08-04 04:15:28

今天在公司分享了java web的ppt,把ppt大纲放在这里,希望可以帮助需要的人

servlet容器简介

  • 定义

狭义上的,servlet容器为java Web应用提供运行时环境,负责管理servlet和jsp的生命周期,以及他们的共享数据等

广义上的。绝大部分Servlet容器同时也可以作为web server。

以tomcat为例,狭义上它可以分为连接器和servlet容器,容器只负责servlet逻辑,和用户的网络连接交由连接器处理。

广义上我们可以整个把他称为servlet容器,大家视语境来理解含义

  • 生命周期图:

客户端把请求交给servlet 容器,容器把相关请求封装成httpServletRequest和httpServletReponse,然后交由特定的servlet处理,调用他的service方法。这个是普遍的流程,当然中间也会被filter截断,这在后续会讲到

java web分享ppt大纲 -- servlet容器简介

  • 详细的处理流程(以tomcat为例):

连接器把用户请求数据传给servlet容器,容器从工作线程池中取出一个工作线程。

servlet容器有四个级别的子容器:engine, host, context, servletwapper 每个子容器都有自己对请求的处理过滤逻辑,我们称只为阀(value),一个阀处理完毕,就会处理下一个阀。这些阀组合在一起就像在通过一个管道,我们称只为pipeline,通过完这些内部的阀,我们便可以到我们的web业务项目的控制范围

我们自己的业务项目处理逻辑,系统级别的处理通常会定义在filter里面,这个可以在web.xml里面定义。用户的请求在通过pipeline后,会通过这些filter,filter顺序由filter-mapping在web.xml. filter可以决定是否传给下一个filter,直到servlet。也可以在这个filter就终止传递处理

截取一个servlet的hello world的处理栈信息,大家可以清晰的看到这个过程

java web分享ppt大纲 -- servlet容器简介

  • servlet容器中项目的部署的结构:

部署的形式

1 War文件

通过打成war包

2 解压后的目录

相当于把war解压

部署后的目录结构

根目录存放jsp,html类型的文件

WEB-INF 存放发布描述文件web.xml,这里面记载了listener,filter,servlet的信息,以及用到的servletConfig和servletContext环境变量

WEB-INF/classes 存放应用相关的class文件,也就是我们在项目中写的java业务代码

WEB-INF/lib 存放需要的jar包,也就是项目依赖的第三方jar包

开发的目录结构

Src/main/java

Src/main/resources

这两个对应 WEB_INF/classes里面的文件

Src/test/java

Src/test/restources

这两个对应测试用例,不参与项目的真是部署,但在打包时,比如maven package会运行相应的测试用例

Src/main/webapp

这个对应除上述之外文件,如配置文件和静态文件,jsp等。例如webapp/WEB-INFO/web.xml等