面包屑之tomcat

  作为一个小小的java程序员,平日里接触最多的莫过于网页了。至于网页是如何神奇的动态传输到浏览器,对此我一直是一知半解。

  是的,工具实现了一切,还有学术界的"不要重复造轮子",像一道无形的高墙让人难以逾越。

  本人极度缺乏安全感,对陌生的事物,以及对未来的迷茫,让我迫切想抓住一切真相。

  我不敢承认自己没有方向,可我又害怕停下的步伐,我就像一头被栓住的磨驴,看不到远方,只能朝着未知的终点前进。

  

  想矫情下,却没有足够的才华。哎,还是说说最近看得一本书的心得吧。

  《how tomcat works》,书如其名,一本讲tomcat是如何工作的书。看完之后,不说达到了解惑的效果,至少收获了不少的知识。

  以前前辈总对我说,tomcat就是一个容器,再详细点就是一个装servlet的容器。恩,听起来挺简单的,也蛮容易理解的。可,它是个用来干什么的容器呢?

  这本书里面就有答案:tomcat其实就是个实现了servlet规范的一个容器。(个人理解)

  tomcat基本结构:

  

  Connector创建ServerSocket监听http请求

  Processor解析Http请求,创建HttpServletRequest,HttpServletResponse对象

  Container传递HttpServletRequest,HttpServletResponse对象到对应servlet。

  阅读感悟:

  解析http请求,实现servlet规范,

  各组件生命周期管理,事件支持(通过实现Lifecycle接口,接口有start,stop方法)

  后台周期线程,

  容器自带pipeline处理请求,方便请求

  工具类实现功能组件,提供技术支持,降低开发成本,(LifecycleSupport类)

  门面对象隐藏保护内部实现,

  xml配置对象,动态组建tomcat,(Digester)

  容器呈树状结构,适合分发请求,

  catalina启动,解析xml组建顶层容器对象,直到host,host本身也是个deployer,根据多种方式配置Context,
  启动server,根据他们的层级关系,依次调用生命周期方法启动。

  catalina关闭,实现,主线程阻塞等待关闭命令,
  注册jvm关闭钩子,预防不正常关闭时,资源未回收,

  自定义classloader,
  目的:缓存,安全管理,

  logger, manager

  

  

  

  

   

  

时间: 2025-01-21 18:50:52

面包屑之tomcat的相关文章

CSS实现面包屑

面包屑在用户引导方面起到很大作用,可以清晰的为用户指示出其当前所在位置,以及访问到此的整个路径如何,另一方面,面包屑也可以将较长的表单分割成一步一步完成且互动性较强的任务式表单填写.可见其在网页中的重要性.但样式美观的面包屑包含一些形状,这在CSS3以前得靠图片等其他方式实现,现在有了CSS3之后,我们可以很方便的用CSS绘制出常见的面包屑. 下面的案例中涉及了三个内容,所以将其记录于此: 1. display:inline-block的间距文题(是由于我们格式化代码时换行导致) 2. bord

css制作面包屑导航

css2制作面包屑导航主要的原理就是利用绝对定位以及当元素的宽度和高度都为零时边框的挤压性质,效果图 代码: <ul>     <li>HTML<i></i></li>     <li><em></em>CSS<i></i></li>     <li><em></em>JavaScript<i></i></li

辛星和您一起用纯CSS美化面包屑导航

首先讲一下面包屑导航为什么叫做面包屑导航,它来自于一个童话故事,这个童话故事的名字也非常有特色,叫做"汉塞尔和格莱特",有一天他们去森林里游玩,但是走着走着发现迷路了,大家都知道,森林里都都是数,不管往哪边走,还是茫茫的一片树,于是他们在沿途走过的地方都撒下面包屑,他们利用这些面包屑帮助他们走出了森林,因此,面包屑导航的意思就是说我们去过哪些地方,以及我们如何回到我们之前的位置. 有时候我们特别需要面包屑导航,比如我们在某论坛或者某网上商城闲逛的时候,很容易被茫茫的帖子和众多的商品搞的

YII 面包屑制作

什么是面包屑? 类似于这样就是 实现步骤: 1. 视图定义变量 2. 在布局通过显示 视图中代码: <?php //定义面包屑变量 $this -> breadcrumbs = array( '用户中心'=>array('user/center'), '用户登录'=>array('user/login'), ); ?> 布局中代码:通过小物件来是实现 <!-- <当前位置=---首页-----注册----> <?php if(isset($this-&

如何删除帝国cms面包屑导航中首页链接的/index.html

前面一篇"帝国cms面包屑导航的首页链接锚文本改成关键字"中xmyanke有写到改首页链接的方法,但是感觉比较麻烦,这里就说说如何删除帝国cms面包屑导航中首页链接的/index.html,我们的首页一般都是***.com/结尾的,如果Breadcrumb的中首页链接变成***.com/index.html结尾的话,会造成有两个首页,分散权重.重复收录.(当然可以把index.html 301到不带index.html) 找到e/class/connect.php,搜索$file=$p

Bootstrap面包屑导航

Bootstrap中提供了面包屑导航的实现方法: 只需要引入bootstrap.css文件即可. 主要引用的样式有: .span6 .breadcrumb 实例代码如下: <!DOCTYPE html> <html> <meta charset="utf-8"> <head> <title>bootstrap面包屑导航</title> <link rel="stylesheet" type

WordPress主题开发:制作面包屑导航

所谓面包屑,就是类似这种:首页 > 公司简介 > 发展历史 展示网站树型结构,并让网站访问者随时知道自己所处的位置,方便返回上几级. 将下面的代码添加到主题的 functions.php : //面包屑功能 function the_breadcrumb() { echo '<ul class="breadcrumb">'; if (!is_home()) { echo '<li><a href="'; echo get_option

CSS3面包屑导航

原文:http://www.helloweba.com/view-blog-347.html HTML HTML结构非常简单,一个有序列表ol,外面又<nav>包裹. 面包屑导航条的结构,我们给ol加上class样式为:.cd-breadcrumb,那么当前位置的层级li加上class样式为:.current. <nav>     <ol class="cd-breadcrumb">         <li><a href=&quo

Bootstrap中面包屑导航实例

通过重写样式breadcrumb可以更改分割的符默认是单斜杠,实例重写后是双斜杠: <style type="text/css">    .breadcrumb > li + li:before {    color: #CCCCCC;    content: "// ";    padding: 0 5px;}     </style> 代码实例: <div class="container">