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

servlet容器简介

  • 定义

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

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

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

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

  • 生命周期图:

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

  • 详细的处理流程(以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的处理栈信息,大家可以清晰的看到这个过程

  • 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等

java web分享ppt大纲 -- servlet容器简介的更多相关文章

  1. java web分享ppt大纲 -- servlet包

     概述 servlet相关代码所在包: javax.servlet javax.servlet.http 常用的功能模块 Servlet,filter,listener 常用的相关类: servlet ...

  2. SpringMVC内容略多 有用 熟悉基于JSP和Servlet的Java Web开发,对Servlet和JSP的工作原理和生命周期有深入了解,熟练的使用JSTL和EL编写无脚本动态页面,有使用监听器、过滤器等Web组件以及MVC架构模式进行Java Web项目开发的经验。

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

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

    上篇文章中我们介绍了Servlet的实现方式以及Servlet的生命周期,我们这篇文章就来介绍一下常用对象. 点击回顾:<Java Web每天学之Servlet的工作原理解析>:<J ...

  4. Java Web每天学之Servlet的原理解析

    Java Web每天学之Servlet的工作原理解析,上海尚学堂Java技术文章Java Web系列之二上一篇文章Java Web每天学之Servlet的工作原理解析是之一,欢迎点击阅读. Servl ...

  5. dokcer自动化构建部署java web 基于jenkins+maven+nuxus容器

    # dokcer自动化构建部署java web 基于jenkins+maven+nuxus容器 #环境centos 7.4 docker 18.03.0-ce # nuxus,创建maven本地源(可 ...

  6. 【Java Web开发学习】Servlet、Filter、Listener

    [Java Web开发学习]Servlet 转发:https://www.cnblogs.com/yangchongxing/p/9274739.html 1.Servlet package cn.y ...

  7. [原创]java WEB学习笔记44:Filter 简介,模型,创建,工作原理,相关API,过滤器的部署及映射的方式,Demo

    本博客为原创:综合 尚硅谷(http://www.atguigu.com)的系统教程(深表感谢)和 网络上的现有资源(博客,文档,图书等),资源的出处我会标明 本博客的目的:①总结自己的学习过程,相当 ...

  8. java web 学习五(servlet开发1)

    一.Servlet简介 Servlet是sun公司提供的一门用于开发动态web资源的技术. Sun公司在其API中提供了一个servlet接口,用户若想用发一个动态web资源(即开发一个Java程序向 ...

  9. 初学Java Web(3)——第一个Servlet

    这学期 Java Web 课程的第一节课就简短复习了一下 Java 的一些基础知识,所以觉得 Java 的基础知识还是很重要的,但当我想要去写一篇 Java 回顾的文章的时候发现很难,因为坑实在太多了 ...

随机推荐

  1. Linux 内存机制详解宝典

    Linux 内存机制详解宝典 在linux的内存分配机制中,优先使用物理内存,当物理内存还有空闲时(还够用),不会释放其占用内存,就算占用内存的程序已经被关闭了,该程序所占用的内存用来做缓存使用,对于 ...

  2. 用OO方式写键盘字母小游戏

    <html>  <head>   <title>0.0</title>   <script>    window.onload=functi ...

  3. VC中利用多线程技术实现线程之间的通信

    当前流行的Windows操作系统能同时运行几个程序(独立运行的程序又称之为进程),对于同一个程序,它又可以分成若干个独立的执行流,我们称之为线程,线程提供了多任务处理的能力.用进程和线程的观点来研究软 ...

  4. Python 学习之中的一个:在Mac OS X下基于Sublime Text搭建开发平台包括numpy,scipy

    1 前言 Python有许多IDE能够用,官方自己也带了一个,Eclipse也能够. 但我在使用各种IDE之后,发现用Sublime Text是最好用的一个.因此.我都是用Sublime Text来编 ...

  5. HDU 2254 奥运(数论+矩阵)

    题目中文的不解释啊. .. 须要注意的就是:离散数学中,有向图的邻接矩阵A表示全部点之间路径长度为1的路径数量,A^n则表示路径长度为n的路径数量.故须要求某两点在(A^t1)~(A^t2)的路径数量 ...

  6. JQuery让input从disabled变成enabled

    JQuery让input从disabled变成enabled document.getElementByIdx_x("removeButton").disabled = false ...

  7. MS SQL:ID自增列从1开始重新排序

    数据库中把ID自增长重置成1: 一般做法:(太麻烦) 复制表数据->删除原表.新建一张表->粘贴: 新方法: 数据库中:新建查询->复制.粘贴一下代码->修改表名,执行即可(先 ...

  8. select2简单例子

    1.html中静态值 html <%--multiple 为多选--%> <select multiple id="e1"> <option>& ...

  9. 《Effective C++》Item2:尽量以const,enum,inline替换#define

    1. 宏定义 #define ASPECT_RATIO 1.653 该宏定义ASPECT_RATIO也许从来没有被编译器看到,也许在编译器开始处理源码之前就已经被预处理器替换了.所以记号名称ASPEC ...

  10. 用C++写一个简单的发布者

    节点是一个可执行程序,它连接到了ROS的网络系统中.我们将会创建一个发布者,也就是说话者节点,它将会持续的广播一个信息. 改变目录到之前所建立的那个包下: cd ~/catkin_ws/src/beg ...