当前位置: 首页 > news >正文

做类似淘宝的网站开发需要什么/免费使用seo软件

做类似淘宝的网站开发需要什么,免费使用seo软件,泉州网站建设报价,招聘网站建设人员要求容器,简单理解就是用来装东西的工具。在Tomcat里面,容器被设计用来装载Servlet, 也就是我们平常写的普通的Servlet ,就会存放在容器里面。这也就是咱们平常念叨的Servlet容器,其实从广义上理解,Servlet容器…

容器,简单理解就是用来装东西的工具。在Tomcat里面,容器被设计用来装载Servlet, 也就是我们平常写的普通的Servlet ,就会存放在容器里面。这也就是咱们平常念叨的Servlet容器,其实从广义上理解,Servlet容器是指Tomcat,从狭义上理解,Servlet容器,只是Tomcat里面的一个组件而已。

1. 容器概述

Tomcat采用分层结构设计了4种容器,这4种容器分别是: Engine 、Host 、Context 、Wrap 。它们钧继承 Container 容器接口。这样设计使得Tomcat在处理请求时,分工更加明确,也使得容器具有很好的灵活性。

其中从左到右: Engine 表示引擎,用来管理多个虚拟站点,一个Service最多只能有一个Engine。 Host代表虚拟主机,或者表示站点。其实就是我们配置出来的虚拟映射地址。Context表示一个Web应用,Wrap 名为包装,它其实就是内部包装着我们写的Servlet。

为了方便大家理解,我们可以从Tomcat里面的server.xml中看出来一些端倪。

这四个容器呈现的是一个父子包含关系:

2. 定位Servlet

在Tomcat里面使用Mapper 映射器来实现Servlet的定位工作。在最初启动项目的时候,Tomcat就开始解析了项目的配置信息,然后使用Mapper来保存了具体的映射地址和Host、Context、Wrap的对应关系。当请求到来的时候,就会到Mapper里面去查找匹配的Wrap(Servlet),然后调用。当我们为了方便理解,我们可以浅显的认为Mapper其实就是一个类似Map键值对的容器。

2.1 全局概览

比如: 下面的图示,我们可以把瑞吉点餐项目的面向管理员后台项目和面向用户前端项目部署在同一个Tomcat上,为了隔离它们,我们通过配置虚拟域名,也就是两个Host。而用户系统,订单系统,产品系统,购物车系统又都是可以独立运行的应用,所以我们可以配备4个Context来对应它们。最后一排的Wrap,其实就是各自系统中的Servlet了。

2.2 请求到来

此时用户使用 http://user.reggie.com:8080/cart/delete 来访问。

2.2.1 定位Service和Engine

由于来访的时候,使用的是8080端口,正好被Http连接器捕捉到。在Tomcat里面,Service里面包含着: 连接器和容器。找到了连接器,也就意味着找到了容器,这也就意味着Engine就确定了。

2.2.2 定位Host

Service和Engine确定了之后,就在Mapper中,通过路径地址,找到响应的Host容器。由于使用的是http://user.reggie.com 访问,所以这就确定了是Host2这个容器。

2.2.3 定位Context

Host确定了之后,继续在Mapper中查找。由于使用的/cart访问,所以这就定位到了Context4这个应用。

2.2.4 定位Wrap

Context确定了之后,后续也就能根据地址 /delete,轻而易举的找到 Wrap6 这个容器。最后也就定位到了Servlet。

2.3 请求传递

Tomcat 里面是如何把请求从最外层的容器Engine,一直往里传递到Wrap,然后执行Servlet的调用的呢?
答案是使用 Pipeline-Valve 管道。
Pipeline-Valve 是责任链模式,责任链模式是指在一个请求处理的过程中有很多处理者依次对请求进行处理,每个处理者负责做自己相应的处理,处理完之后将再调用下一个处理者继续处理。

下面通过一个张简单的草图来描述:

每一个容器都有一个Pipeline对象,中间的每一个圆圈,其实表示的是一个Valve,它表示处理点。在Pipeline里面维护这Valve的链表。只要执行了第一个Pipeline的Valve,这个容器中的Pipeline就会被调用,直到最后末端的Basic的Valve,它负责去连接下一个子容器的第一个Valve处理点。这样不断的串联起来,最终就到达了Servlet。

值得注意的是: 在Wrap的最后一个Basic的Valve的处理点里面,它会创建一个Filter过滤器链,然后在doFilter方法中最终调用Servlet的service方法。

3. 总结

本文主要给大家描述了Tomcat了里面的容器结构,以及请求到来的时候,是如何识别到底执行了哪个Servlet。请求的链式调用是基于 Pipeline-Valve 责任链来完成的,这样的设计使得系统具有良好的可扩展性,如果需要扩展容器本身的功能,只需要增加相应的 Valve 即可。

http://www.lbrq.cn/news/1363339.html

相关文章:

  • 朝阳专业网站建设/seo优化的内容有哪些
  • 网络工作室主要工作内容/aso安卓优化
  • 郑州开发app公司哪家好/搜索引擎优化专员
  • 河南省建设厅举报网站/怎样去推广自己的网店
  • 如何创建网站目录/永久域名查询
  • 问鼎电子娱乐下载官方网站/关键词排名优化公司哪家强
  • 武汉光谷做网站价格/网站推广的常用途径有哪些
  • 张家口建设局网站/营销型网站建设方案
  • 阳江网站建设/windows优化大师破解版
  • 高明网站建设哪家好/网络营销平台都有哪些
  • 手机网站建设 小程序/石家庄最新新闻事件
  • 做水军那些网站好/抖音搜索引擎优化
  • 公司培训网站建设/google应用商店
  • 动态ip做网站影响seo吗/宁波seo网络推广定制多少钱
  • wordpress 做音乐网站/想做网络推广如何去做
  • 网上哪个网站做的系统好用吗/网页代码
  • 做国际网站的流程/长春seo排名扣费
  • node做网站/软文网
  • rss 网站插件/网站优化培训
  • 可以挣钱的网站/网站的搜索引擎
  • 吴中企业建设网站报价/网站推广技巧和方法
  • 企业网站优化外包/自媒体135的网站是多少
  • 深圳专业商城网站设计制作/网站更新seo
  • 什么语言网站比较安全/今天的新闻摘抄
  • 专业代做时时彩网站/优化快速排名公司
  • 淘宝客网站建站源码/个人网页制作完整教程
  • 一站式企业服务平台是什么/外包平台
  • 作品集的个人网站怎么做/上海关键词优化的技巧
  • 用美国服务器做钓鱼网站/西安优化seo托管
  • 政府网站集约化建站/网络推广和运营的区别
  • 3.JVM,JRE和JDK的关系是什么
  • 超急评估:用提前计算分摊性能成本
  • 6. 平台总线
  • Noob靶场练习
  • 1.8 axios详解
  • 线程池的实现