今天在公司分享了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. windbg 调试技巧

    技巧一:在加载名卸载的时候下断点 1. 加载某个DLL 的时候下断点的WinDBG 命令: sxe ld:[dll name] 然后按F5,进行刷新,再使用lmf 查看装载的Dll名称. 2.  卸载 ...

  2. 《我是一只IT小小鸟》 读后感

    <我是一只IT小小鸟>一只是我想读list中一个本,但是上次去当当买的时候,竟然缺货了...昨天监考,实在无聊,就上网看电子书了,一天就看完了,看得有点仓促,所以理解估计不深. 1.刘帅: ...

  3. kafka学习(一)-背景及架构设计

    概念和术语 消息,全称为Message,是指在生产者.服务端和消费者之间传输数据. 消息代理:全称为Message Broker,通俗来讲就是指该MQ的服务端或者说服务器. 消息生产者:全称为Mess ...

  4. uva 301 Transportation 铁路公司的阳谋 纯dfs暴力

    题目比较难理解. 给出铁路的容量和站点数,以及几笔订单,要求算出如何盈利最大. 咋一看想贪心,但无法确定是最优解啊. 于是用dfs做,就两种状况,选与不选,先开一个每个站点的当前人数数组,假设要选,然 ...

  5. winds引导配置数据文件包含的os项目无效

    我装了winds7与linux双系统,用easyBcd程序时,删除了一个winds7,之后winds7就进不去了, 进入winds7时显示winds未能启动,原因可能是最近更改了硬件或软件.解决此问题 ...

  6. at org.apache.jsp.index_jsp._jspInit(index_jsp.java:23)异常解决

    部署项目,启动tomcat一切正常.输入项目地址后 tomcat报例如以下错误: java.lang.NullPointerException at org.apache.jsp.index_jsp. ...

  7. Android 常用开发类库

    android.app :提供高层的程序模型.提供基本的运行环境    android.content :包含各种的对设备上的数据进行访问和发布的类    android.database :通过内容 ...

  8. 让 collabtive-11 支持中文

    collabtive, 不错的项目管理工具, 将在新项目中使用之; 但在默认安装 collabtive-11 之后 发现在里面输入中文后会出错, 网上找不了少资料但对 11这版本的中文支持的修改不起不 ...

  9. 加入功能区buttonRibbon Button到SP2010特定列表或库

    加入功能区button到SP2010某一列表或库         有时候你须要给列表/库的功能区加入新button--没有什么比这更简单的了. 你仅仅须要新建一个SP项目.加入一个feature,加入 ...

  10. Samba在CentOS下的图形化界面的安装

    第一步:构建yum仓库(在此用的是北交大的yum仓库) 打开目录/etc/yum.repos.d下的CentOS-Base.repo文件,此处是我自己建的yum仓库,修改里面的链接地址为北交大的镜像的 ...