web.xml的加载及各节点常用节点的解析

来源:互联网 发布:相片删除恢复软件 编辑:程序博客网 时间:2024/06/07 02:14
<html xmlns="http://www.w3.org/1999/xhtml"><head><script type="text/javascript" async="" src="http://cpro.baidustatic.com/cpro/ui/pr.js"></script>          
            <link rel="canonical" href="http://blog.csdn.net/u010160778/article/details/60140430"> 


   


  
 <meta http-equiv="Cache-Control" content="no-siteapp"><link rel="alternate" media="handheld" href="#">


    <meta name="shenma-site-verification" content="5a59773ab8077d4a62bf469ab966a63b_1497598848"> 
       
    <title>web.xml加载顺序与web.xml常用节点解析 - u010160778的博客
        - CSDN博客</title>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    <meta name="description" content="web.xml加载顺序应用服务器启动时web.xml加载过程,至于这些节点在xml文件中的前后顺序没有关系,不过有些应用服务器,我曾碰到过的 websphere就严格要求web.xml的节点顺序,否则部署不成功,所以还是赞成按照web.xml标准格式写content-param --> listener --> filter --> servlet1、启动WEB项目的时候,应用服务器会">


    <meta name="keywords" content="web.xml,xml">


   
    <script src="https://hm.baidu.com/hm.js?6bcd52f51e9b3dce32bec4a3997715ac"></script><script type="text/javascript" async="" src="http://mpb1.iteye.com/lpjnmjnpdmchiycjn.js"></script><script src="http://static.blog.csdn.net/scripts/blog_static_head.min.js" type="text/javascript"></script>


    
        <!--new top-->
       
       
        <!--new top-->
    
      <!-- ad begin -->
         
    <!-- ad end-->


    <link rel="Stylesheet" type="text/css" href="http://static.blog.csdn.net/skin/skin-yellow/css/style.css?v=1.1">


    


    <link id="RSSLink" title="RSS" type="application/rss+xml" rel="alternate" href="/u010160778/rss/list">
    <link rel="shortcut icon" href="http://c.csdnimg.cn/public/favicon.ico">
    <link type="text/css" rel="stylesheet" href="http://static.blog.csdn.net/scripts/SyntaxHighlighter/styles/default.css">
 






    <link href="http://c.csdnimg.cn/blog/csdn_public_blog_detail.min.css" type="text/css" rel="stylesheet">
     
         <link rel="stylesheet" href="http://static.blog.csdn.net/css/csdn_blog_detail.min.css">


  




    <!-- 请置于所有广告位代码之前 --> 
            <script src="http://dup.baidustatic.com/js/ds.js"></script><style>html, * {-webkit-user-select:text!important; -moz-user-select:text!important;}</style>


<script src="http://bdimg.share.baidu.com/static/api/js/share.js?v=89860593.js?cdnversion=418081"></script><script src="https://res.wx.qq.com/connect/zh_CN/htmledition/js/wxLogin.js"></script><link rel="stylesheet" type="text/css" href="http://csdnimg.cn/rabbit/notev2/css/style.css?4d63d1f"><link rel="stylesheet" type="text/css" href="//csdnimg.cn/public/common/tag-suggest-pop/css/style.css?dd7cc7c"><link type="text/css" rel="stylesheet" href="http://passport.csdn.net/content/loginbox/style.css?r=1505095717695"><script src="http://bdimg.share.baidu.com/static/js/logger.js?cdnversion=418083"></script><link href="http://bdimg.share.baidu.com/static/css/bdsstyle.css?cdnversion=20131219" rel="stylesheet" type="text/css"><style type="text/css">.MathJax_Hover_Frame {border-radius: .25em; -webkit-border-radius: .25em; -moz-border-radius: .25em; -khtml-border-radius: .25em; box-shadow: 0px 0px 15px #83A; -webkit-box-shadow: 0px 0px 15px #83A; -moz-box-shadow: 0px 0px 15px #83A; -khtml-box-shadow: 0px 0px 15px #83A; border: 1px solid #A6D ! important; display: inline-block; position: absolute}
.MathJax_Hover_Arrow {position: absolute; width: 15px; height: 11px; cursor: pointer}
</style><style type="text/css">#MathJax_About {position: fixed; left: 50%; width: auto; text-align: center; border: 3px outset; padding: 1em 2em; background-color: #DDDDDD; color: black; cursor: default; font-family: message-box; font-size: 120%; font-style: normal; text-indent: 0; text-transform: none; line-height: normal; letter-spacing: normal; word-spacing: normal; word-wrap: normal; white-space: nowrap; float: none; z-index: 201; border-radius: 15px; -webkit-border-radius: 15px; -moz-border-radius: 15px; -khtml-border-radius: 15px; box-shadow: 0px 10px 20px #808080; -webkit-box-shadow: 0px 10px 20px #808080; -moz-box-shadow: 0px 10px 20px #808080; -khtml-box-shadow: 0px 10px 20px #808080; filter: progid:DXImageTransform.Microsoft.dropshadow(OffX=2, OffY=2, Color='gray', Positive='true')}
.MathJax_Menu {position: absolute; background-color: white; color: black; width: auto; padding: 2px; border: 1px solid #CCCCCC; margin: 0; cursor: default; font: menu; text-align: left; text-indent: 0; text-transform: none; line-height: normal; letter-spacing: normal; word-spacing: normal; word-wrap: normal; white-space: nowrap; float: none; z-index: 201; box-shadow: 0px 10px 20px #808080; -webkit-box-shadow: 0px 10px 20px #808080; -moz-box-shadow: 0px 10px 20px #808080; -khtml-box-shadow: 0px 10px 20px #808080; filter: progid:DXImageTransform.Microsoft.dropshadow(OffX=2, OffY=2, Color='gray', Positive='true')}
.MathJax_MenuItem {padding: 2px 2em; background: transparent}
.MathJax_MenuArrow {position: absolute; right: .5em; color: #666666}
.MathJax_MenuActive .MathJax_MenuArrow {color: white}
.MathJax_MenuArrow.RTL {left: .5em; right: auto}
.MathJax_MenuCheck {position: absolute; left: .7em}
.MathJax_MenuCheck.RTL {right: .7em; left: auto}
.MathJax_MenuRadioCheck {position: absolute; left: 1em}
.MathJax_MenuRadioCheck.RTL {right: 1em; left: auto}
.MathJax_MenuLabel {padding: 2px 2em 4px 1.33em; font-style: italic}
.MathJax_MenuRule {border-top: 1px solid #CCCCCC; margin: 4px 1px 0px}
.MathJax_MenuDisabled {color: GrayText}
.MathJax_MenuActive {background-color: Highlight; color: HighlightText}
.MathJax_Menu_Close {position: absolute; width: 31px; height: 31px; top: -15px; left: -15px}
</style><style type="text/css">#MathJax_Zoom {position: absolute; background-color: #F0F0F0; overflow: auto; display: block; z-index: 301; padding: .5em; border: 1px solid black; margin: 0; font-weight: normal; font-style: normal; text-align: left; text-indent: 0; text-transform: none; line-height: normal; letter-spacing: normal; word-spacing: normal; word-wrap: normal; white-space: nowrap; float: none; box-shadow: 5px 5px 15px #AAAAAA; -webkit-box-shadow: 5px 5px 15px #AAAAAA; -moz-box-shadow: 5px 5px 15px #AAAAAA; -khtml-box-shadow: 5px 5px 15px #AAAAAA; filter: progid:DXImageTransform.Microsoft.dropshadow(OffX=2, OffY=2, Color='gray', Positive='true')}
#MathJax_ZoomOverlay {position: absolute; left: 0; top: 0; z-index: 300; display: inline-block; width: 100%; height: 100%; border: 0; padding: 0; margin: 0; background-color: white; opacity: 0; filter: alpha(opacity=0)}
#MathJax_ZoomFrame {position: relative; display: inline-block; height: 0; width: 0}
#MathJax_ZoomEventTrap {position: absolute; left: 0; top: 0; z-index: 302; display: inline-block; border: 0; padding: 0; margin: 0; background-color: white; opacity: 0; filter: alpha(opacity=0)}
</style><style type="text/css">.MathJax_Preview {color: #888}
#MathJax_Message {position: fixed; left: 1em; bottom: 1.5em; background-color: #E6E6E6; border: 1px solid #959595; margin: 0px; padding: 2px 8px; z-index: 102; color: black; font-size: 80%; width: auto; white-space: nowrap}
#MathJax_MSIE_Frame {position: absolute; top: 0; left: 0; width: 0px; z-index: 101; border: 0px; margin: 0px; padding: 0px}
.MathJax_Error {color: #CC0000; font-style: italic}
</style><link rel="stylesheet" href="http://bdimg.share.baidu.com/static/api/css/share_style0_16.css?v=6aba13f0.css"></head>




<body><div id="BAIDU_DUP_fp_wrapper" style="position: absolute; left: -1px; bottom: -1px; z-index: 0; width: 0px; height: 0px; overflow: hidden; visibility: hidden; display: none;"><iframe id="BAIDU_DUP_fp_iframe" src="https://pos.baidu.com/wh/o.htm?ltr=" style="width: 0px; height: 0px; visibility: hidden; display: none;"></iframe></div><div id="MathJax_Message" style="display: none;"></div><iframe frameborder="0" style="display: none;"></iframe><div class="csdn-toolbar csdn-toolbar-skin-black ">        <div class="container row center-block ">          <div class="col-md-3 pull-left logo clearfix"><a href="http://www.csdn.net?ref=toolbar" title="CSDN首页" target="_blank" class="icon"></a><a title="频道首页" href="http://blog.csdn.net?ref=toolbar_logo" class="img blog-icon"></a></div>          <div class="pull-right login-wrap ">            <ul class="btns">              <li class="loginlink"><a href="https://passport.csdn.net/account/login?ref=toolbar" target="_top">登录&nbsp;</a>|<a target="_top" href="http://passport.csdn.net/account/mobileregister?ref=toolbar&amp;action=mobileRegister">&nbsp;注册</a></li>              <li class="search">                <div class="icon on-search-icon">                  <div class="wrap">                    <div class="curr-icon-wrap">                      <div class="curr-icon"></div>                    </div>                    <form action="http://so.csdn.net/search" id="toolbar_search" method="get" target="_blank">                      <input type="hidden" value="toolbar" name="ref" accesskey="2">                      <div class="border">                        <input placeholder="搜索" type="text" value="" name="q" accesskey="2"><span class="icon-enter-sm"></span>                      </div>                    </form>                  </div>                </div>              </li>              <li class="favor">                <div class="icon on-favor-icon">                  <div class="wrap">                    <div class="curr-icon-wrap">                      <div class="curr-icon"></div>                    </div>                    <div style="display:none;" class="favor-success"><span class="msg">收藏成功</span>                      <div class="btns"><span class="btn btn-primary ok">确定</span></div>                    </div>                    <div style="display:none;" class="favor-failed"><span class="icon-danger-lg"></span><span class="msg">收藏失败,请重新收藏</span>                      <div class="btns"><span class="btn btn-primary ok">确定</span></div>                    </div>                    <form role="form" class="form-horizontal favor-form">                      <div class="form-group">                        <div class="clearfix">                          <label for="input-title" class="col-sm-2 control-label"><span class="red_txt">*</span>标题</label>                          <div class="col-sm-10">                            <input id="inputTitle" type="text" placeholder="" class="title form-control">                          </div>                        </div>                        <div class="alert alert-danger"><strong></strong>标题不能为空</div>                      </div>                      <div class="form-group" style="display:none;">                        <label for="input-url" class="col-sm-2 control-label">网址</label>                        <div class="col-sm-10">                          <input id="input-url" type="text" placeholder="" class="url form-control">                        </div>                      </div>                      <div class="form-group">                        <label for="input-tag" class="col-sm-2 tag control-label">标签</label>                        <div class="col-sm-10">                          <input id="input-tag" type="text" class="form-control tag">                        </div>                      </div>                      <div class="form-group">                        <label for="input-description" class="description col-sm-2 control-label">位置</label>                        <div class="col-sm-10">                          <div class="my_lib_box">                            个人主页&nbsp;-&nbsp;<a href="http://my.csdn.net/" target="_blank">我的知识</a>                          </div>                          <div class="checkbox">                            <div class="pull-left">                              <label>                                <input type="checkbox" name="share" class="save_lib_map" checked="checked">同时保存至:                              </label>                            </div>                            <div class="pull-left">                              <div class="dropdown">                                <button id="toolbar_sele_map" type="button">                                  选择知识图谱                                  <i class="fa fa-chevron-down"></i>                                </button>                                <div class="top_arr"></div>                                <div class="outside">                                  <ul class="dropdown-menu" id="toolbar_Design_knowledge"><li>环境配置及技术向</li></ul>                                </div>                              </div>                            </div>                            <div class="pull-left new_txt">                              <a href="http://lib.csdn.net/my/create/structure" target="_blank">新建?</a>                            </div>                          </div>                        </div>                      </div>                      <div class="form-group">                        <div class="col-sm-offset-2 col-sm-10 ft">                          <div class="col-sm-4 pull-left" style="display:none">                            <div class="checkbox">                              <label>                                <input type="checkbox" name="share" checked="checked" class="share">公开                              </label>                            </div>                          </div>                          <div class="col-sm-8 pull-right favor-btns">                            <button type="button" class="cancel btn btn-default">取消</button>                            <button type="submit" class="submit btn btn-primary">收藏</button>                          </div>                        </div>                      </div>                    </form>                  </div>                </div>              </li>              <li class="notify">                <div style="display:none" class="number"></div>                <div style="" class="icon-hasnotes-sm"></div>                <div id="header_notice_num"><div class="icon-hasnotes" style=""></div></div>                <div class="icon on-notify-icon">                  <div class="wrap">                    <div class="curr-icon-wrap">                      <div class="curr-icon"></div>                    </div>                    <div id="note1" class="csdn_note" style="left: -212px; top: 25px;">                      <div class="box"><div class="notifications notice_list_con curr">  <div class="menu_title">    <span class="title"><a href="http://msg.csdn.net/letters" target="_blank" class="read_all">查看所有私信</a><a href="http://msg.csdn.net" target="_blank" class="go_all">查看所有通知</a></span>  </div>  <div class="loading"></div>  <div class="empty">暂没有新通知</div>  <div class="notice_content" style="overflow-y: auto; max-height: 270px;"></div></div><div class="notifications detail_con" style="display: none">  <div class="menu_title">    <span class="title">      <a class="go_back" href="javascript:void 0;">返回通知列表</a>      <a class="notifications_page_none nextnote" href="javascript:void 0;">下一条</a>      <a class="notifications_page prvnote" href="javascript:void 0;">上一条</a>    </span>  </div>  <div class="notice_content" style="overflow-y: scroll; height: 250px;"></div></div><div class="error"></div></div>                    <iframe src="about:block" frameborder="0" allowtransparency="true" style="z-index:-1;position:absolute;top:0;left:0;width:100%;height:100%;background:transparent"></iframe></div>                  </div>                </div>              </li>              <li class="ugc">                <div class="icon on-ugc-icon">                  <div class="wrap clearfix">                    <div class="curr-icon-wrap">                      <div class="curr-icon"></div>                    </div>                    <dl>                      <dt><a href="http://geek.csdn.net/news/expert?ref=toolbar" target="_blank" class="p-news clearfix" style="display:none;"><em class="icon"></em><span>分享资讯</span></a></dt>                      <dt style="border: none;"><a href="http://u.download.csdn.net/upload?ref=toolbar" target="_blank" class="p-doc clearfix"><em class="icon"></em><span>传PPT/文档</span></a></dt>                      <dt><a href="http://bbs.csdn.net/topics/new?ref=toolbar" target="_blank" class="p-ask clearfix"><em class="icon"></em><span>提问题</span></a></dt>                      <dt><a href="http://write.blog.csdn.net/postedit?ref=toolbar" target="_blank" class="p-blog clearfix"><em class="icon"></em><span>写博客</span></a></dt>                      <dt><a href="http://u.download.csdn.net/upload?ref=toolbar" target="_blank" class="p-src clearfix"><em class="icon"></em><span>传资源</span></a></dt>                      <dt><a href="https://code.csdn.net/projects/new?ref=toolbar" target="_blank" class="c-obj clearfix"><em class="icon"></em><span>创建项目</span></a></dt>                      <dt><a href="https://code.csdn.net/snippets/new?ref=toolbar" target="_blank" class="c-code clearfix"><em class="icon"></em><span>创建代码片</span></a></dt>                    </dl>                  </div>                </div>              </li>              <li class="profile">                <div class="icon on-profile-icon"><img src="http://avatar.csdn.net/0/9/5/2_wait20141124.jpg" class="curr-icon-img">                  <div class="wrap clearfix">                    <div class="curr-icon-wrap">                      <div class="curr-icon"></div>                    </div>                    <div class="bd">                      <dl class="clearfix">                        <dt class="pull-left img"><a target="_blank" href="http://my.csdn.net?ref=toolbar" class="avatar"><img src="http://avatar.csdn.net/0/9/5/2_wait20141124.jpg"></a></dt>                        <dd class="info" style="border: none;"><a target="_blank" href="http://my.csdn.net?ref=toolbar" class="nickname">Re丶致十年后的我</a><span class="dec">十年后的我,会怎样呢?是比现在更废,还是已经站在人生顶端,都得靠自己去走。</span></dd>                      </dl>                    </div>                    <div class="ft clearfix"><a target="_blank" href="http://my.csdn.net/my/account/changepwd?ref=toolbar" class="pull-left"><span class="icon-cog"></span>帐号设置</a><a href="https://passport.csdn.net/account/logout?ref=toolbar" target="_top" class="pull-left" style="margin-left:132px; width:18px; height:27px; white-space:nowrap; overflow:hidden;"><span class="icon-signout"></span><span class="out">退出</span></a></div>                  </div>                </div>              </li>              <li class="apps">                <div id="chasnew123" class="hasnew" style="display: none;"></div>                <div id="cappsarea123" class="icon on-apps-icon">                  <div class="wrap clearfix">                    <div class="curr-icon-wrap">                      <div class="curr-icon"></div>                    </div>                  <div class="detail">                    <dl>                      <dt>                        <h5>社区</h5>                      </dt>                      <dd> <a href="http://blog.csdn.net?ref=toolbar" target="_blank">博客</a></dd>                      <dd> <a href="http://bbs.csdn.net?ref=toolbar" target="_blank">论坛</a></dd>                      <dd> <a href="http://download.csdn.net?ref=toolbar" target="_blank">下载</a></dd>                      <dd> <a href="http://lib.csdn.net?ref=toolbar" target="_blank">知识库</a></dd>                      <dd><a href="http://ask.csdn.net?ref=toolbar" target="_blank">技术问答</a></dd>                      <dd><a href="http://geek.csdn.net?ref=toolbar" target="_blank">极客头条</a></dd>                      <dd style="display:none"> <a href="http://hero.csdn.net?ref=toolbar" target="_blank">英雄会</a></dd>                    </dl>                  </div>                  <div class="detail">                    <dl>                      <dt>                        <h5>服务</h5>                      </dt>                      <dd style="display:none"> <a href="http://job.csdn.net?ref=toolbar" target="_blank">JOB<img src="http://c.csdnimg.cn/public/common/toolbar/images/new.gif" style="display: none; margin-top: -26px; width: 23px;"></a></dd>                      <dd> <a href="http://edu.csdn.net?ref=toolbar" target="_blank">学院<img src="http://c.csdnimg.cn/public/common/toolbar/images/new.gif" style="display: none; margin-top: -26px; width: 23px;"></a></dd>                      <dd> <a href="https://code.csdn.net?ref=toolbar" target="_blank">CODE</a></dd>                      <dd> <a href="http://huiyi.csdn.net/?ref=toolbar" target="_blank">活动</a></dd>                      <dd> <a href="http://www.csto.com?ref=toolbar" target="_blank">CSTO</a></dd>                      <dd> <a href="http://mall.csdn.net?ref=toolbar" target="_blank">C币兑换<img src="http://c.csdnimg.cn/public/common/toolbar/images/new.gif" style="display: none; margin-top: -26px; width: 23px;"></a></dd>                    </dl>                  </div>                  <div class="detail last">                    <dl>                      <dt>                        <h5>俱乐部</h5>                      </dt>                      <dd> <a href="http://cto.csdn.net?ref=toolbar" target="_blank">CTO俱乐部</a></dd>                      <dd> <a href="http://student.csdn.net?ref=toolbar" target="_blank">高校俱乐部</a></dd>                    </dl>                  </div>                </div>              </div>            </li>            </ul>          </div>        </div>    </div>
     
        <div class="tracking-ad" data-view="true" data-mod="ad_popu_72" data-mtp="62" data-order="40" data-con="ad_content_2072">
                     <script id="popuLayer_js_q" src="http://ads.csdn.net/js/popuLayer.js" defer="defer" type="text/javascript"></script>
                <div id="layerd" style="position: fixed; bottom: 0px; right: 0px; line-height: 0px; z-index: 1000; width: 300px; height: 278px;">
                   <div class="J_close layer_close" style="display:;background-color:#efefef;padding:0px;color:#333;font:12px/24px Helvetica,Tahoma,Arial,sans-serif;text-align:right;">关闭</div><!-- 广告占位容器 -->
                    <div id="cpro_u2895327">
                        <!-- 投放代码 -->
                        <div id="_vaneybxsf5"><span style="display:none;"></span><iframe width="300" frameborder="0" height="250" scrolling="no" src="http://pos.baidu.com/s?hei=250&amp;wid=300&amp;di=u2895327&amp;ltu=http%3A%2F%2Fblog.csdn.net%2Fu010160778%2Farticle%2Fdetails%2F60140430&amp;cja=false&amp;cec=UTF-8&amp;ari=2&amp;pcs=1349x638&amp;col=zh-CN&amp;par=1366x728&amp;drs=1&amp;cdo=-1&amp;ps=638x1325&amp;dtm=HTML_POST&amp;ccd=24&amp;cce=true&amp;exps=111000&amp;ltr=http%3A%2F%2Flib.csdn.net%2Fmy%2Fstructure%2F%25E7%258E%25AF%25E5%25A2%2583%25E9%2585%258D%25E7%25BD%25AE%25E5%258F%258A%25E6%258A%2580%25E6%259C%25AF%25E5%2590%2591%2Fcollection&amp;tcn=1505095717&amp;psr=1366x768&amp;dc=2&amp;dai=1&amp;dri=1&amp;pss=1349x7217&amp;cmi=7&amp;dis=0&amp;tpr=1505095717382&amp;tlm=1505095717&amp;pis=-1x-1&amp;chi=1&amp;ti=web.xml%E5%8A%A0%E8%BD%BD%E9%A1%BA%E5%BA%8F%E4%B8%8Eweb.xml%E5%B8%B8%E7%94%A8%E8%8A%82%E7%82%B9%E8%A7%A3%E6%9E%90%20-%20u010160778%E7%9A%84%E5%8D%9A%E5%AE%A2%20-%20CSDN%E5%8D%9A%E5%AE%A2&amp;ant=0&amp;cfv=0&amp;cpl=5"></iframe></div><script type="text/javascript" src="http://mpb1.iteye.com/ojylrgbykmqybf.js"></script>
                    </div></div>
                <script>  document.getElementById("popuLayer_js_q").onload = function () {
      var styObjd = styObj = { width: "300px", "height": parseInt(250) + 28 };
      window.CSDN.Layer.PopuLayer("#layerd", { storageName: "layerd", styleObj: styObjd, total: 50, expoire: 1000 * 60 });
  }</script>
            
     
        </div>


    <!-- 广告位开始 -->
        
    <!-- 广告位结束 -->


    
   
      <!--new top-->
    <script id="toolbar-tpl-scriptId" fixed="true" prod="blog" skin="black" src="http://c.csdnimg.cn/public/common/toolbar/js/html.js" type="text/javascript"></script>
     <!--new top-->
    <div id="container">
        <div id="header">
    <div class="header">
        <div id="blog_title">
            <h2>
                <a href="http://blog.csdn.net/u010160778">u010160778的博客</a></h2>
            <h3></h3>
            <div class="clear">
            </div>
        </div>
        <div class="clear">
        </div>
        
     
    </div>
</div>
<div id="navigator">
    <div class="navigator_bg">
    </div>
    <div class="navigator">
        <ul>           
                <li id="btnContents"><a href="http://blog.csdn.net/u010160778?viewmode=contents"><span onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_mulu'])">
                    <img src="http://static.blog.csdn.net/images/ico_list.gif">目录视图</span></a></li>
                <li id="btnView"><a href="http://blog.csdn.net/u010160778?viewmode=list"><span onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_zhaiyao'])">
                    <img src="http://static.blog.csdn.net/images/ico_summary.gif">摘要视图</span></a></li>
                <li id="btnRss"><a href="http://blog.csdn.net/u010160778/rss/list"><span onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_RSS'])">
                    <img src="http://static.blog.csdn.net/images/ico_rss.gif">订阅</span></a></li>                
            


            </ul>
    </div>
</div>
<script type="text/javascript">
    var username = "u010160778";
    var _blogger = username;
    var blog_address = "http://blog.csdn.net/u010160778";
    var static_host = "http://static.blog.csdn.net";
    var currentUserName = "wait20141124";  
</script>


        <div id="body">
            <div id="main">
                <div class="main">
                        <div class="ad_class">
<div class="notice tracking-ad" data-mod="popu_3"> 




<a href="http://blog.csdn.net/epubit17/article/details/77770966" target="_blank">
<font color="red"><strong>异步赠书:Kotlin领衔10本好书</strong></font></a>


&nbsp;&nbsp;&nbsp;&nbsp;


<a href="http://edu.csdn.net/huiyiCourse/series_detail/63" target="_blank">
<font color="red"><strong>免费直播:AI时代,机器学习如何入门?</strong></font></a>


&nbsp;&nbsp;&nbsp;&nbsp;


<a href="http://blog.csdn.net/turingbooks/article/details/77479427" target="_blank">
<font color="blue"><strong>程序员8月书讯</strong></font></a>


&nbsp;&nbsp;&nbsp;&nbsp;




<a href="https://gitee.com/enterprises?from=csdn-sqbkxq" target="_blank">
<font color="red"><strong>项目管理+代码托管+文档协作,开发更流畅</strong></font></a>






</div>                        </div>


                        






  












<script type="text/javascript" src="http://static.blog.csdn.net/scripts/category.js"></script>


  <script type="text/ecmascript">
      window.quickReplyflag = true;
      var isBole = false; 
      var fasrc="http://my.csdn.net/my/favorite/miniadd?t=web.xml%e5%8a%a0%e8%bd%bd%e9%a1%ba%e5%ba%8f%e4%b8%8eweb.xml%e5%b8%b8%e7%94%a8%e8%8a%82%e7%82%b9%e8%a7%a3%e6%9e%90&u=http://blog.csdn.net/u010160778/article/details/60140430"
    </script>
<div id="article_details" class="details">
    <div class="article_title">   
         <span class="ico ico_type_Repost"></span>


    <h1>
        <span class="link_title"><a href="/u010160778/article/details/60140430">
        web.xml加载顺序与web.xml常用节点解析        
           
        </a>
        </span>


         
    </h1>
</div>


   


        <div class="article_manage clearfix">
        <div class="article_l">
            <span class="link_categories">
            标签:
              <a href="http://www.csdn.net/tag/web.xml" target="_blank" onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_tag']);">web.xml</a><a href="http://www.csdn.net/tag/xml" target="_blank" onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_tag']);">xml</a>
            </span>
        </div>
        <div class="article_r">
            <span class="link_postdate">2017-03-03 15:12</span>
            <span class="link_view" title="阅读次数">367人阅读</span>
            <span class="link_comments" title="评论次数"> <a href="#comments" onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_pinglun'])">评论</a>(0)</span>
            <span class="link_collect tracking-ad" data-mod="popu_171"> <a href="javascript:void(0);" onclick="javascript:collectArticle('web.xml%e5%8a%a0%e8%bd%bd%e9%a1%ba%e5%ba%8f%e4%b8%8eweb.xml%e5%b8%b8%e7%94%a8%e8%8a%82%e7%82%b9%e8%a7%a3%e6%9e%90','60140430');return false;" title="收藏" target="_blank">收藏</a></span>
             <span class="link_report"> <a href="#report" onclick="javascript:report(60140430,2);return false;" title="举报">举报</a></span>


        </div>
    </div>    <style type="text/css">        
            .embody{
                padding:10px 10px 10px;
                margin:0 -20px;
                border-bottom:solid 1px #ededed;                
            }
            .embody_b{
                margin:0 ;
                padding:10px 0;
            }
            .embody .embody_t,.embody .embody_c{
                display: inline-block;
                margin-right:10px;
            }
            .embody_t{
                font-size: 12px;
                color:#999;
            }
            .embody_c{
                font-size: 12px;
            }
            .embody_c img,.embody_c em{
                display: inline-block;
                vertical-align: middle;               
            }
             .embody_c img{               
                width:30px;
                height:30px;
            }
            .embody_c em{
                margin: 0 20px 0 10px;
                color:#333;
                font-style: normal;
            }
    </style>
    <script type="text/javascript">
        $(function () {
            try
            {
                var lib = eval("("+$("#lib").attr("value")+")");
                var html = "";
                if (lib.err == 0) {
                    $.each(lib.data, function (i) {
                        var obj = lib.data[i];
                        //html += '<img src="' + obj.logo + '"/>' + obj.name + "&nbsp;&nbsp;";
                        html += ' <a href="' + obj.url + '" target="_blank">';
                        html += ' <img src="' + obj.logo + '">';
                        html += ' <em><b>' + obj.name + '</b></em>';
                        html += ' </a>';
                    });
                    if (html != "") {
                        setTimeout(function () {
                            $("#lib").html(html);                      
                            $("#embody").show();
                        }, 100);
                    }
                }      
            } catch (err)
            { }
            
        });
    </script>


  


  
  
     




<div id="article_content" class="article_content tracking-ad" data-mod="popu_307" data-dsm="post">


<p><strong><span style="font-size:12px; color:#ff0000">web.xml加载顺序</span></strong></p>
<p><span style="font-size:12px">应用服务器启动时web.xml加载过程,至于这些节点在xml文件中的前后顺序没有关系,不过有些应用服务器,我曾碰到过的 websphere就严格要求web.xml的节点顺序,否则部署不成功,所以还是赞成按照web.xml标准格式写<br>
content-param --&gt; listener --&gt; filter --&gt; servlet</span></p>
<p><span style="font-size:12px">1、启动WEB项目的时候,应用服务器会去读它的配置文件web.xml.读两个节点:&lt;listener&gt;&lt;/listener&gt; 和 &lt;context-param&gt;&lt;/context-param&gt;&nbsp;&nbsp;
<br>
<br>
2、紧接着,容器创建一个ServletContext(上下文),这个WEB项目所有部分都将共享这个上下文.<br>
<br>
3、容器将&lt;context-param&gt;&lt;/context-param&gt;转化为键值对,并交给ServletContext.<br>
<br>
4、容器创建&lt;listener&gt;&lt;/listener&gt;中的类实例,即创建监听.<br>
<br>
5、在监听中会有contextInitialized(ServletContextEvent args)初始化方法,在这个方法中获得: <br>
&nbsp;ServletContext = ServletContextEvent.getServletContext();<br>
&nbsp;context-param的值 = ServletContext.getInitParameter("context-param的键");&nbsp;&nbsp;&nbsp; <br>
<br>
6、得到这个context-param的值之后,你就可以做一些操作了.注意,这个时候你的WEB项目还没有完全启动完成.这个动作会比所有的Servlet都要早.换句话说,这个时候,你对&lt;context-param&gt;中的键值做的操作,将在你的WEB项目完全启动之前被执行.如果想在项目启动之前就打开数据库,那么这里就可以在&lt;context-param&gt;中设置数据库的连接方式,在监听类中初始化数据库的连接,这个监听是自己写的一个类,除了初始化方法,它还有销毁方法.用于关闭应用前释放资源.比如说数据库连接的关闭.</span></p>
<p><br>
<span><span style="font-size:12px"><span style="color:#ff0000">对于某类配置节而言,与它们出现的顺序是有关的</span>。<br>
以 filter 为例,web.xml 中当然可以定义多个 filter,与 filter 相关的一个配置节是 filter-mapping,这里一定要注意,对于拥有相同 filter-name 的 filter 和 filter-mapping 配置节而言,filter-mapping 必须出现在 filter 之后,否则当解析到 filter-mapping 时,它所对应的 filter-name 还未定义。<br>
web 容器启动时初始化每个 filter 时,是按照 filter 配置节出现的顺序来初始化的,当请求资源匹配多个 filter-mapping 时,filter 拦截资源是按照 filter-mapping 配置节出现的顺序来依次调用 doFilter() 方法的。
<br>
servlet 同 filter 类似,此处不再赘述。</span></span></p>
<p><span style="font-size:12px">比如filter 需要用到 bean ,但加载顺序是: 先加载filter 后加载spring,则filter中初始化操作中的bean为null;所以,如果过滤器中要使用到 bean,可以将spring 的加载 改成 Listener的方式
<br>
&nbsp;&lt;listener&gt;<br>
&nbsp;&nbsp;&nbsp;&nbsp; &lt;listener-class&gt;org.springframework.web.context.ContextLoaderListener&lt;/listener-class&gt;<br>
&nbsp;&lt;/listener&gt;</span></p>
<p><span style="font-size:12px">&nbsp;</span></p>
<p><span><span style="font-size:12px"><strong><span style="color:#ff0000">web.xml节点解析<br>
</span><br>
根节点</strong><br>
1、 </span></span><strong><span style="font-size:12px; color:#0000ff">&lt;web-app&gt;&lt;/web-app&gt;<br>
</span></strong></p>
<p><span><span style="font-size:12px"><strong>常用节点介绍</strong><br>
2、 <strong><span style="color:#0000ff">&lt;context-param /&gt;</span></strong>&nbsp; 用来设定web站台的环境参数<br>
&nbsp;它包含两个子元素:<br>
&nbsp;&lt;param-name&gt;&lt;/param-name&gt; 用来指定参数的名称<br>
&nbsp;&lt;param-value&gt;&lt;/param-value&gt; 用来设定参数值<br>
&nbsp;在此设定的参数,可以在servlet中用 getServletContext().getInitParameter("my_param") 来取得<br>
&nbsp;例子:<br>
&nbsp;&lt;context-param&gt;<br>
&nbsp;&nbsp;&lt;param-name&gt;log4jConfigLocation&lt;/param-name&gt;<br>
&nbsp;&nbsp;&lt;param-value&gt;classpath*:/log4j.properties&lt;/param-value&gt;<br>
&nbsp;&lt;/context-param&gt;<br>
<br>
3、 <strong><span style="color:#0000ff">&lt;listener /&gt;</span></strong> 用来设定Listener接口<br>
&nbsp;它的主要子元素为<br>
&nbsp;&lt;listener-class&gt;&lt;/listener-class&gt; 定义Listener的类名称<br>
&nbsp;例子:<br>
&nbsp;&lt;listener&gt;<br>
&nbsp;&nbsp;&nbsp;&nbsp; &lt;listener-class&gt;org.springframework.web.context.ContextLoaderListener&lt;/listener-class&gt;<br>
&nbsp;&lt;/listener&gt;<br>
<br>
4、 <strong><span style="color:#0000ff">&lt;filter /&gt;</span></strong>&nbsp; 是用来声明filter的相关设定<br>
&nbsp;&lt;filter-name&gt;&lt;/filter-name&gt; 这当然就是指定filter的名字<br>
&nbsp;&lt;filter-class&gt;&lt;/filter-class&gt; 这是用来定义filter的类的名称<br>
&nbsp;&lt;init-param&gt;&lt;/init-param&gt; 用来定义参数,它有两个子元素:<br>
&nbsp;&lt;param-name&gt;&lt;/param-name&gt; 用来指定参数的名称<br>
&nbsp;&lt;param-value&gt;&lt;/param-value&gt; 用来设定参数值<br>
&nbsp;例子:<br>
&nbsp;&lt;filter&gt;<br>
&nbsp;&nbsp;&lt;filter-name&gt;encodingFilter&lt;/filter-name&gt;<br>
&nbsp;&nbsp;&lt;filter-class&gt;org.springframework.web.filter.CharacterEncodingFilter&lt;/filter-class&gt;<br>
&nbsp;&nbsp;&lt;init-param&gt;<br>
&nbsp;&nbsp;&nbsp;&lt;param-name&gt;encoding&lt;/param-name&gt;<br>
&nbsp;&nbsp;&nbsp;&lt;param-value&gt;GBK&lt;/param-value&gt;<br>
&nbsp;&nbsp;&lt;/init-param&gt;<br>
&nbsp;&nbsp;&lt;init-param&gt;<br>
&nbsp;&nbsp;&nbsp;&lt;param-name&gt;forceEncoding&lt;/param-name&gt;<br>
&nbsp;&nbsp;&nbsp;&lt;param-value&gt;true&lt;/param-value&gt;<br>
&nbsp;&nbsp;&lt;/init-param&gt;<br>
&nbsp;&lt;/filter&gt;<br>
<br>
5、 <strong><span style="color:#0000ff">&lt;servlet /&gt;</span></strong> 用来声明一个servlet的数据,主要有以下子元素:<br>
&nbsp;&lt;servlet-name&gt;&lt;/servlet-name&gt; 指定servlet的名称<br>
&nbsp;&lt;servlet-class&gt;&lt;/servlet-class&gt; 指定servlet的类名称<br>
&nbsp;&lt;jsp-file&gt;&lt;/jsp-file&gt; 指定web站台中的某个JSP网页的完整路径<br>
&nbsp;&lt;init-param&gt;&lt;/init-param&gt; 用来定义参数,和前面的&lt;init-param&gt;差不多<br>
&nbsp;同样,与&lt;servlet&gt;&lt;/servlet&gt;一起使用的是<br>
&nbsp;&lt;servlet-mapping&gt;&lt;/servlet-mapping&gt; 用来定义servlet所对应的URL,包含两个子元素:<br>
&nbsp;&lt;servlet-name&gt;&lt;/servlet-name&gt; 指定servlet的名称<br>
&nbsp;&lt;url-pattern&gt;&lt;/url-pattern&gt; 指定servlet所对应的URL<br>
&nbsp;&lt;servlet&gt;<br>
&nbsp;&nbsp;&lt;servlet-name&gt;DemoServlet&lt;/servlet-name&gt;<br>
&nbsp;&nbsp;&lt;servlet-class&gt;com.test.DemoServlet&lt;/servlet-class&gt;<br>
&nbsp;&lt;/servlet&gt;<br>
&nbsp;&lt;servlet-mapping&gt;<br>
&nbsp;&nbsp;&lt;servlet-name&gt;DemoServlet&lt;/servlet-name&gt;<br>
&nbsp;&nbsp;&lt;url-pattern&gt;/demoServlet&lt;/url-pattern&gt;<br>
&nbsp;&lt;/servlet-mapping&gt;<br>
<br>
</span></span></p>
<p><span><span style="font-size:12px"><strong>基本节点:<br>
</strong><br>
6、 <strong><span style="color:#0000ff">&lt;description/&gt;</span></strong> 是对站台的描述<br>
&nbsp;例子:&lt;description&gt;传道、授业、解惑&lt;/description&gt; <br>
<br>
7、 <strong><span style="color:#0000ff">&lt;display-name/&gt;</span></strong> 定义站台的名称<br>
&nbsp;例子:&lt;display-name&gt;我的站点&lt;/display-name&gt;<br>
<br>
8、 <strong><span style="color:#0000ff">&lt;icon&gt;</span></strong> <br>
icon元素包含small-icon和large-icon两个子元素.用来指定web站台中小图标和大图标的路径. <br>
&lt;small-icon&gt;/路径/smallicon.gif&lt;/small-icon&gt; <br>
small-icon元素应指向web站台中某个小图标的路径,大小为16 X 16 pixel,但是图象文件必须为GIF或JPEG格式,扩展名必须为:.gif或.jpg.
<br>
&lt;large-icon&gt;/路径/largeicon-jpg&lt;/large-icon&gt; <br>
large-icon元素应指向web站台中某个大图表路径,大小为32 X 32 pixel,但是图象文件必须为GIF或JPEG的格式,扩展名必须为; gif或jpg.
<br>
例子: <br>
&lt;icon&gt; <br>
&nbsp;&lt;small-icon&gt;/images/small.gif&lt;/small-icon&gt; <br>
&nbsp;&lt;large-icon&gt;/images/large.gir&lt;/large-icon&gt; <br>
&lt;/icon&gt;<br>
<br>
9、 <span style="color:#0000ff"><strong>&lt;distributable/&gt;</strong></span> 是指定该站台是否可分布式处理<br>
<br>
10、 <span style="color:#0000ff"><strong>&lt;session-config/&gt;</strong></span> 用来定义web站台中的session参数<br>
&nbsp;包含一个子元素:<br>
&nbsp;&lt;session-timeout&gt;&lt;/session-timeout&gt; 用来定义这个web站台所有session的有效期限,单位为 分钟<br>
</span></span></p>
<p><span style="font-size:12px">11、 <strong><span style="color:#0000ff">&lt;mime-mapping /&gt;</span></strong> 定义某一个扩展名和某一个MIME Type做对应该<br>
&nbsp;包含两个子元素:<br>
&nbsp;&lt;extension&gt;&lt;/extension&gt; 扩展名的名称<br>
&nbsp;&lt;mime-type&gt;&lt;/mime-type&gt; MIME格式<br>
&nbsp;例子:<br>
&nbsp;&lt;mime-mapping&gt;<br>
&nbsp;&nbsp;&lt;extension&gt;doc&lt;/extension&gt;&nbsp; <br>
&nbsp;&nbsp;&lt;mime-type&gt;application/vnd.ms-word&lt;/mime-type&gt;<br>
&nbsp;&lt;/mime-mapping&gt;&nbsp;&nbsp;&nbsp; <br>
&nbsp;&lt;mime-mapping&gt;<br>
&nbsp;&nbsp;&lt;extension&gt;xls&lt;/extension&gt;<br>
&nbsp;&nbsp;&lt;mime-type&gt;application/vnd.ms-excel&lt;/mime-type&gt;<br>
&nbsp;&lt;/mime-mapping&gt;<br>
</span></p>
<p><span style="font-size:12px">12、 </span><span><span style="font-size:12px"><span style="color:#0000ff"><strong>&lt;error-page&gt;<br>
</strong></span>&nbsp;&lt;error-page&gt;<br>
&nbsp;&nbsp;&nbsp;&nbsp; &lt;error-code&gt;500&lt;/error-code&gt;<br>
&nbsp;&nbsp;&nbsp;&nbsp; &lt;location&gt;/message.jsp&lt;/location&gt;<br>
&nbsp;&lt;/error-page&gt;<br>
&nbsp;&lt;error-page&gt;<br>
&nbsp;&nbsp;&nbsp;&nbsp; &lt;error-code&gt;400&lt;/error-code&gt;<br>
&nbsp;&nbsp;&nbsp;&nbsp; &lt;location&gt;/message.jsp&lt;/location&gt;<br>
&nbsp;&lt;/error-page&gt;<br>
&nbsp;&lt;error-page&gt;<br>
&nbsp;&nbsp;&nbsp;&nbsp; &lt;error-code&gt;403&lt;/error-code&gt;<br>
&nbsp;&nbsp;&nbsp;&nbsp; &lt;location&gt;/message.jsp&lt;/location&gt;<br>
&nbsp;&lt;/error-page&gt;<br>
&nbsp;&lt;error-page&gt;<br>
&nbsp;&nbsp;&nbsp;&nbsp; &lt;error-code&gt;404&lt;/error-code&gt;<br>
&nbsp;&nbsp;&nbsp;&nbsp; &lt;location&gt;/message.jsp&lt;/location&gt;<br>
&nbsp;&lt;/error-page&gt;<br>
&nbsp;&lt;error-page&gt;<br>
&nbsp;&nbsp;&nbsp;&nbsp; &lt;error-code&gt;502&lt;/error-code&gt;<br>
&nbsp;&nbsp;&nbsp;&nbsp; &lt;location&gt;/index.jsp&lt;/location&gt;<br>
&nbsp;&lt;/error-page&gt;<br>
<br>
13、</span></span><span><span style="font-size:12px"><span style="color:#0000ff"><strong> &lt;jsp-config/&gt;<br>
</strong></span>&nbsp;&lt;jsp-config&gt;<br>
&nbsp;&lt;taglib&gt;<br>
&nbsp;&lt;taglib-uri&gt;/struts-tags&lt;/taglib-uri&gt;<br>
&nbsp;&lt;taglib-location&gt;/WEB-INF/struts-tags.tld&lt;/taglib-location&gt;<br>
&nbsp;&lt;/taglib&gt;<br>
&nbsp;&lt;taglib&gt;<br>
&nbsp;&lt;taglib-uri&gt;/struts-dojo-tags&lt;/taglib-uri&gt;<br>
&nbsp;&lt;taglib-location&gt;/WEB-INF/struts-dojo-tags.tld&lt;/taglib-location&gt;<br>
&nbsp;&lt;/taglib&gt;<br>
&nbsp;&lt;taglib&gt;<br>
&nbsp;&lt;taglib-uri&gt;/s&lt;/taglib-uri&gt;<br>
&nbsp;&lt;taglib-location&gt;/WEB-INF/struts-tags.tld&lt;/taglib-location&gt;<br>
&nbsp;&lt;/taglib&gt;<br>
&nbsp;&lt;/jsp-config&gt;<br>
<br>
14、 <span style="color:#0000ff"><strong>&lt;welcome-file-list/&gt;</strong></span><br>
&nbsp;&lt;welcome-file-list&gt;<br>
&nbsp;&lt;welcome-file&gt;index.html&lt;/welcome-file&gt;<br>
&nbsp;&lt;welcome-file&gt;index.htm&lt;/welcome-file&gt;<br>
&nbsp;&lt;welcome-file&gt;index.jsp&lt;/welcome-file&gt;<br>
&nbsp;&lt;/welcome-file-list&gt;<br>
<br>
15<strong>、 <span style="color:#0000ff">&lt;</span></strong><span style="color:#0000ff"><strong><span style="color:#0000ff">resource-ref&gt;&lt;/resource-ref&gt;</span></strong>
</span>定义利用JNDI取得站台可利用的资源<br>
&nbsp;有五个子元素:<br>
&nbsp;&lt;description&gt;&lt;/description&gt; 资源说明<br>
&nbsp;&lt;rec-ref-name&gt;&lt;/rec-ref-name&gt; 资源名称<br>
&nbsp;&lt;res-type&gt;&lt;/res-type&gt; 资源种类<br>
&nbsp;&lt;res-auth&gt;&lt;/res-auth&gt; 资源经由Application或Container来许可<br>
&nbsp;&lt;res-sharing-scope&gt;&lt;/res-sharing-scope&gt; 资源是否可以共享,有Shareable和Unshareable两个值,默认为Shareable</span></span></p>
<p><span style="font-size:12px">&nbsp;比如,配置数据库连接池就可在此配置<br>
&nbsp;&lt;resource-ref&gt;<br>
&nbsp;&lt;description&gt;JNDI JDBC DataSource of shop&lt;/description&gt;<br>
&nbsp;&lt;res-ref-name&gt;jdbc/sample_db&lt;/res-ref-name&gt;<br>
&nbsp;&lt;res-type&gt;javax.sql.DataSource&lt;/res-type&gt;<br>
&nbsp;&lt;res-auth&gt;Container&lt;/res-auth&gt;<br>
&nbsp;&lt;/resource-ref&gt;</span></p>
<span style="font-size:12px">还有其他元素如果想更为详细的了解它可以到</span><a target="_blank" href="http://java.sun.com/xml/ns/j2ee/web-mapp_2_4.xsd"><span style="font-size:12px">http://java.sun.com/xml/ns/j2ee/web-mapp_2_4.xsd</span></a><span style="font-size:12px">网</span>
   
</div>








<!-- Baidu Button BEGIN -->








<div class="bdsharebuttonbox tracking-ad bdshare-button-style0-16" style="float: right;" data-mod="popu_172" data-bd-bind="1505095718496">
<a href="#" class="bds_more" data-cmd="more" style="background-position:0 0 !important; background-image: url(http://bdimg.share.baidu.com/static/api/img/share/icons_0_16.png?v=d754dcc0.png) !important" target="_blank"></a>
<a href="#" class="bds_qzone" data-cmd="qzone" title="分享到QQ空间" style="background-position:0 -52px !important" target="_blank"></a>
<a href="#" class="bds_tsina" data-cmd="tsina" title="分享到新浪微博" style="background-position:0 -104px !important" target="_blank"></a>
<a href="#" class="bds_tqq" data-cmd="tqq" title="分享到腾讯微博" style="background-position:0 -260px !important" target="_blank"></a>
<a href="#" class="bds_renren" data-cmd="renren" title="分享到人人网" style="background-position:0 -208px !important" target="_blank"></a>
<a href="#" class="bds_weixin" data-cmd="weixin" title="分享到微信" style="background-position:0 -1612px !important" target="_blank"></a>
</div>
<script>window._bd_share_config = { "common": { "bdSnsKey": {}, "bdText": "", "bdMini": "1", "bdMiniList": false, "bdPic": "", "bdStyle": "0", "bdSize": "16" }, "share": {} }; with (document) 0[(getElementsByTagName('head')[0] || body).appendChild(createElement('script')).src = 'http://bdimg.share.baidu.com/static/api/js/share.js?v=89860593.js?cdnversion=' + ~(-new Date() / 36e5)];</script>
<!-- Baidu Button END -->


   


<!--172.16.140.11-->


<!-- Baidu Button BEGIN -->
<script type="text/javascript" id="bdshare_js" data="type=tools&amp;uid=1536434" src="http://bdimg.share.baidu.com/static/js/bds_s_v2.js?cdnversion=418083"></script>


<script type="text/javascript">
    document.getElementById("bdshell_js").src = "http://bdimg.share.baidu.com/static/js/shell_v2.js?cdnversion=" + Math.ceil(new Date()/3600000)
</script>
<!-- Baidu Button END -->






 




        <div id="digg" articleid="60140430">
            <dl id="btnDigg" class="digg digg_enable" onclick="btndigga();">
               
                 <dt>顶</dt>
                <dd>0</dd>
            </dl>
           
              
            <dl id="btnBury" class="digg digg_enable" onclick="btnburya();">
              
                  <dt>踩</dt>
                <dd>0</dd>               
            </dl>
            
        </div>
     <div class="tracking-ad" data-mod="popu_222"><a href="javascript:void(0);" target="_blank">&nbsp;</a>   </div>
    <div class="tracking-ad" data-mod="popu_223"> <a href="javascript:void(0);" target="_blank">&nbsp;</a></div>
    <script type="text/javascript">
        function btndigga() {
            $(".tracking-ad[data-mod='popu_222'] a").click();
        }
        function btnburya() {
            $(".tracking-ad[data-mod='popu_223'] a").click();
        }
            </script>


   <ul class="article_next_prev">
                <li class="prev_article"><span onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_shangyipian']);location.href='http://blog.csdn.net/u010160778/article/details/60140295';">上一篇</span><a href="http://blog.csdn.net/u010160778/article/details/60140295" onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_shangyipian'])">Java web.xml配置解读与加载分析</a></li>
                <li class="next_article"><span onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_xiayipian']);location.href='http://blog.csdn.net/u010160778/article/details/60768899';">下一篇</span><a href="http://blog.csdn.net/u010160778/article/details/60768899" onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_xiayipian'])">SPI和API</a></li>
    </ul>


    <div style="clear:both; height:10px;"></div>




            <div class="similar_article">
                    <h4></h4>
                    <div class="similar_c" style="margin:20px 0px 0px 0px">
                        <div class="similar_c_t">
                          &nbsp;&nbsp;相关文章推荐
                        </div>
                   
                        <div class="similar_wrap tracking-ad" data-mod="popu_36" style="max-height:250px">                       
                            <ul class="similar_list fl">    
                                   <li>
                                       <em>•</em>
                                       <a href="http://blog.csdn.net/x87648510/article/details/51835695" title="tomcat源码解析(二)--web.xml文件的解析" strategy="BlogCommendFromBaidu_0" target="_blank">tomcat源码解析(二)--web.xml文件的解析</a>
                                   </li>
                                   <li>
                                       <em>•</em>
                                       <a href="http://edu.csdn.net/course/detail/1203?utm_source=blog7" title="Hadoop生态系统零基础入门" strategy="undefined" target="_blank">Hadoop生态系统零基础入门</a>
                                   </li>
                                   <li>
                                       <em>•</em>
                                       <a href="http://blog.csdn.net/hongshan50/article/details/7335443" title="web.xml加载顺序" strategy="BlogCommendFromBaidu_1" target="_blank">web.xml加载顺序</a>
                                   </li>
                                   <li>
                                       <em>•</em>
                                       <a href="http://edu.csdn.net/huiyiCourse/series_detail/62?utm_source=blog7" title="系统集成工程师必过冲刺!" strategy="undefined" target="_blank">系统集成工程师必过冲刺!</a>
                                   </li>
                                   <li>
                                       <em>•</em>
                                       <a href="http://blog.csdn.net/epubit17/article/details/77770966" title="异步赠书:Kotlin领衔10本新书" strategy="BlogCommendFromBaidu_2" target="_blank">异步赠书:Kotlin领衔10本新书</a>
                                   </li>
                                   <li>
                                       <em>•</em>
                                       <a href="http://edu.csdn.net/course/detail/2883?utm_source=blog7" title="征服React Native我有妙招" strategy="undefined" target="_blank">征服React Native我有妙招</a>
                                   </li>
                                   <li>
                                       <em>•</em>
                                       <a href="http://blog.csdn.net/Javaer617/article/details/6432654" title="web.xml之context-param,listener,filter,servlet加载顺序及其周边" strategy="BlogCommendFromBaidu_3" target="_blank">web.xml之context-param,listener,filter,servlet加载顺序及其周边</a>
                                   </li>
                                   <li>
                                       <em>•</em>
                                       <a href="http://edu.csdn.net/course/detail/2314?utm_source=blog7" title="FFmpeg音视频高级开发实战" strategy="undefined" target="_blank">FFmpeg音视频高级开发实战</a>
                                   </li>
                            </ul>
                              <ul class="similar_list fr">      
                                   <li>
                                       <em>•</em>
                                       <a href="http://blog.csdn.net/itmyhome/article/details/6961018" title="web.xml加载过程" strategy="BlogCommendFromBaidu_4" target="_blank">web.xml加载过程</a>
                                   </li>
                                   <li>
                                       <em>•</em>
                                       <a href="http://edu.csdn.net/course/detail/5463?utm_source=blog7" title="5天搞定深度学习框架-Caffe" strategy="undefined" target="_blank">5天搞定深度学习框架-Caffe</a>
                                   </li>
                                   <li>
                                       <em>•</em>
                                       <a href="http://blog.csdn.net/oh_Mourinho/article/details/51426622" title="web.xml加载顺序和配置详解" strategy="BlogCommendFromBaidu_5" target="_blank">web.xml加载顺序和配置详解</a>
                                   </li>
                                   <li>
                                       <em>•</em>
                                       <a href="http://edu.csdn.net/course/detail/4661?utm_source=blog7" title="Python数据分析经典案例解析" strategy="undefined" target="_blank">Python数据分析经典案例解析</a>
                                   </li>
                                   <li>
                                       <em>•</em>
                                       <a href="http://blog.csdn.net/futudeniaodan/article/details/53187550" title="web.xml 中元素加载顺序及其详解" strategy="BlogCommendFromBaidu_6" target="_blank">web.xml 中元素加载顺序及其详解</a>
                                   </li>
                                   <li>
                                       <em>•</em>
                                       <a href="http://blog.csdn.net/zhhp0754/article/details/50077093" title="web.xml加载顺序与web.xml常用节点解析" strategy="BlogCommendFromCsdn_7" target="_blank">web.xml加载顺序与web.xml常用节点解析</a>
                                   </li>
                                   <li>
                                       <em>•</em>
                                       <a href="http://download.csdn.net/download/seahaiyang2614/5346583" title="Java开发实战1200例.第2卷.part2" strategy="BlogCommendFromCsdn_8" target="_blank">Java开发实战1200例.第2卷.part2</a>
                                   </li>
                                   <li>
                                       <em>•</em>
                                       <a href="http://download.csdn.net/download/pczlang/9548438" title="Java Web开发实战1200例(第2卷)(完整版).(清华出版.卢瀚.王春斌).part3" strategy="BlogCommendFromCsdn_9" target="_blank">Java Web开发实战1200例(第2卷)(完整版).(清华出版.卢瀚.王春斌).part3</a>
                                   </li>
                            </ul>
                        </div>
                    </div>
                </div>   
      
</div>


     <div>
           


       
                           
            <!-- 广告位:PC端-博客内容页-banner1-960*90 --> 
           
         <div id="_i56s5dsh7kh" style=""><div style="margin-bottom:0px;"><div id="pkmqxc" style="padding-top:0px;"><div style="visibility:visible;"><iframe width="960" frameborder="0" height="90" scrolling="no" src="http://pos.baidu.com/s?hei=90&amp;wid=960&amp;di=u2998112&amp;ltu=http%3A%2F%2Fblog.csdn.net%2Fu010160778%2Farticle%2Fdetails%2F60140430&amp;pis=-1x-1&amp;dis=0&amp;cdo=-1&amp;tlm=1505095717&amp;cfv=0&amp;ps=7727x326&amp;col=zh-CN&amp;ant=0&amp;tpr=1505095717382&amp;ccd=24&amp;tcn=1505095717&amp;par=1366x728&amp;drs=1&amp;ti=web.xml%E5%8A%A0%E8%BD%BD%E9%A1%BA%E5%BA%8F%E4%B8%8Eweb.xml%E5%B8%B8%E7%94%A8%E8%8A%82%E7%82%B9%E8%A7%A3%E6%9E%90%20-%20u010160778%E7%9A%84%E5%8D%9A%E5%AE%A2%20-%20CSDN%E5%8D%9A%E5%AE%A2&amp;dai=2&amp;ltr=http%3A%2F%2Flib.csdn.net%2Fmy%2Fstructure%2F%25E7%258E%25AF%25E5%25A2%2583%25E9%2585%258D%25E7%25BD%25AE%25E5%258F%258A%25E6%258A%2580%25E6%259C%25AF%25E5%2590%2591%2Fcollection&amp;ari=2&amp;cmi=7&amp;dc=2&amp;dtm=HTML_POST&amp;cec=UTF-8&amp;cpl=5&amp;cce=true&amp;exps=111000&amp;pcs=1349x638&amp;cja=false&amp;psr=1366x768&amp;chi=1&amp;pss=1349x7873&amp;dri=1"></iframe></div></div></div></div><script type="text/javascript" src="http://mpb1.iteye.com/kfunnhoouimhnlou.js"></script>
    </div>


<div id="suggest">


</div>
         <script language="javascript" type="text/javascript">     
             $(function(){
                 $.get("/u010160778/svc/GetSuggestContent/60140430",function(data){
                     $("#suggest").html(data);
                 });     
             });             
         </script>  






            
                                    
            
                                    


        <!-- 广告位开始 -->
        <!-- 广告位结束 -->




<div class="comment_class">
    <div id="comment_title" class="panel_head">
        <span class="see_comment">查看评论</span><a name="comments"></a></div>
    <div id="comment_list"><br>&nbsp;&nbsp;暂无评论<br><br><div class="clear"></div></div>
    <div id="comment_bar">
    </div>
    <div id="comment_form"><a name="commentbox"></a><a name="reply"></a><a name="quote"></a><form action="/u010160778/comment/submit?id=60140430" method="post" onsubmit="return subform(this);"><div class="commentform"><div class="panel_head">发表评论</div><ul><li class="left">用 户 名:</li><li class="right">wait20141124</li></ul><ul><li class="left">评论内容:</li><li class="right" style="position:relative;"><div id="ubbtools"><a href="#insertcode" code="code"><img src="http://static.blog.csdn.net/images/ubb/code.gif" border="0" alt="插入代码" title="插入代码"></a></div><div id="lang_list" style="position: absolute; top: 28px; left: 0px; display: none;"><a class="long_name" href="#html">HTML/XML</a><a class="long_name" href="#objc">objective-c</a><a class="zhong_name" href="#delphi">Delphi</a><a class="zhong_name" href="#ruby">Ruby</a><a href="#php">PHP</a><a class="duan_name" href="#csharp">C#</a><a style=" border-right: none;" class="duan_name" href="#cpp">C++</a><a style=" border-bottom:none;" class="long_name" href="#javascript">JavaScript</a><a style=" border-bottom:none;" class="long_name" href="#vb">Visual Basic</a><a style=" border-bottom:none;" class="zhong_name" href="#python">Python</a><a style=" border-bottom:none;" class="zhong_name" href="#java">Java</a><a style="border-bottom:none;" class="duan_name" href="#css">CSS</a><a style="border-bottom:none;" class="duan_name" href="#sql">SQL</a><a style="border:none;" class="duan_name" href="#plain">其它</a></div><textarea class="comment_content" name="comment_content" id="comment_content" style="width: 400px; height: 200px;"></textarea></li></ul><ul><input type="hidden" id="comment_replyId" name="comment_replyId"><input type="hidden" id="comment_userId" name="comment_userId" value="521203"><input type="hidden" id="commentId" name="commentId" value=""><input type="submit" class="comment_btn" value="提交">&nbsp;&nbsp;<span id="tip_comment" style="color: Red; display: none;"></span></ul></div></form></div>
    <div class="announce">
        * 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场<a name="reply"></a><a name="quote"></a></div>
</div>


<script type="text/javascript">
    var fileName = '60140430';
    var commentscount = 0;
    var islock = false
</script>


    <div id="ad_bot">
    </div>
<div id="report_dialog">
</div>


<div id="d-top" style="bottom:60px;">


        <a id="quick-reply" class="btn btn-top q-reply" title="快速回复" style="display:none;">
            <img src="http://static.blog.csdn.net/images/blog-icon-reply.png" alt="快速回复">
        </a>    
    <a id="d-top-a" class="btn btn-top backtop" style="display: none;" title="返回顶部" onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_huidaodingbu'])">         
         <img src="http://static.blog.csdn.net/images/top.png" alt="TOP">
    </a>
</div>
<script type="text/javascript">
    $(function ()
    {
        $("#ad_frm_0").height("90px");
        
        setTimeout(function(){
            $("#ad_frm_2").height("200px");
        },1000);    
    });
  
</script>
<style type="text/css">
    .tag_list
    {
        background: none repeat scroll 0 0 #FFFFFF;
        border: 1px solid #D7CBC1;
        color: #000000;
        font-size: 12px;
        line-height: 20px;
        list-style: none outside none;
        margin: 10px 2% 0 1%;
        padding: 1px;
    }
    .tag_list h5
    {
        background: none repeat scroll 0 0 #E0DBD3;
        color: #47381C;
        font-size: 12px;
        height: 24px;
        line-height: 24px;
        padding: 0 5px;
        margin: 0;
    }
    .tag_list h5 a
    {
        color: #47381C;
    }
    .classify
    {
        margin: 10px 0;
        padding: 4px 12px 8px;
    }
    .classify a
    {
        margin-right: 20px;
        white-space: nowrap;
    }
</style>










<div id="pop_win" style="display:none ;position: absolute; z-index: 10000; border: 1px solid rgb(220, 220, 220); top: 222.5px; left: 630px; opacity: 1; background: none 0px 0px repeat scroll rgb(255, 255, 255);">
    
</div>
<div id="popup_mask"></div>
<style>
    #popup_mask
    {
        position: absolute;
        width: 100%;
        height: 100%;
        background: #000;
        z-index: 9999;
        left: 0px;
        top: 0px;
        opacity: 0.3;
        filter: alpha(opacity=30);
        display: none;
    }


</style>








<script type="text/javascript">
    $(function(){        
        
        setTimeout(function(){
            $(".comment_body:contains('回复')").each(function(index,item){
                var u=$(this).text().split(':')[0].toString().replace("回复","")
                var thisComment=$(this);
                if(u)
                {
                    $.getJSON("https://passport.csdn.net/get/nick?callback=?", {users: u}, function(a) {
                        if(a!=null&&a.data!=null&&a.data.length>0)
                        {
                            nick=a.data[0].n; 
                            if(u!=nick)
                            {
                                thisComment.text(thisComment.text().replace(u,nick));  
                            }
                        }       
                    });  
                }
            });         


        },200);  


        setTimeout(function(){
            $(".math").each(function(index,value){$(this).find("span").last().css("color","#fff"); })
        },5000);


        setTimeout(function(){
            $(".math").each(function(index,value){$(this).find("span").last().css("color","#fff"); })
        },10000);


        setTimeout(function(){
            $(".math").each(function(index,value){$(this).find("span").last().css("color","#fff"); })
        },15000);
        
        setTimeout(function(){
            $("a img[src='http://js.tongji.linezing.com/stats.gif']").parent().css({"position":"absolute","left":"50%"});
        },300);
    });


    function loginbox(){
        var $logpop=$("#pop_win");
        $logpop.html('<iframe src="https://passport.csdn.net/account/loginbox?service=http://static.blog.csdn.net/callback.htm" frameborder="0" height="600" width="400" scrolling="no"></iframe>');


        $('#popup_mask').css({
            opacity: 0.5,
            width: $( document ).width() + 'px',
            height:  $( document ).height() + 'px'
        });
        $('#popup_mask').css("display","block");
 
        $logpop.css( {
            top: ($( window ).height() - $logpop.height())/ 2  + $( window 
       ).scrollTop() + 'px',
            left:($( window ).width() - $logpop.width())/ 2
        } );
 
        setTimeout( function () {
            $logpop.show();
            $logpop.css( {
                opacity: 1
            } );
        }, 200 );
 
        $('#popup_mask').unbind("click");
        $('#popup_mask').bind("click", function(){
            $('#popup_mask').hide();
            var $clopop = $("#pop_win");
            $("#common_ask_div_sc").css("display","none");
            $clopop.css( {
                opacity: 0
            } );
            setTimeout( function () {
                $clopop.hide();
            }, 350 );
            return false;
        });
    }   


    var articletitle='web.xml加载顺序与web.xml常用节点解析';


</script>




















                        <div class="clear">
                        </div>
                    </div>                   
                
            </div>
                   
           <div id="side">
               
    <div class="side">
<div id="panel_Profile" class="panel">
<ul class="panel_head"><span>个人资料</span></ul>
<ul class="panel_body profile">
<div id="blog_userface">
    <a href="http://my.csdn.net/u010160778" target="_blank">
    <img src="http://avatar.csdn.net/5/3/1/1_u010160778.jpg" title="访问我的空间" style="max-width:90%">
    </a>
    <br>
    <span><a href="http://my.csdn.net/u010160778" class="user_name" target="_blank">u010160778</a></span>
</div>
<div class="interact">


    <a href="javascript:void(0);" class="attent" id="span_add_follow" title="[加关注]"></a>


 <a href="javascript:void(0);" class="letter" title="[发私信]" onclick="window.open('http://msg.csdn.net/letters/model?receiver=u010160778','_blank','height=350,width=700');_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_sixin'])"></a>  
</div>
<div id="blog_medal">
                <div id="bms_box">
               </div>
</div>
<ul id="blog_rank">
    <li>访问:<span>2862次</span></li>
    <li>积分:<span>118</span> </li>    
    <li>等级: <span style="position:relative;display:inline-block;z-index:1">
            <img src="http://c.csdnimg.cn/jifen/images/xunzhang/jianzhang/blog2.png" alt="" style="vertical-align: middle;" id="leveImg">
            <div id="smallTittle" style=" position: absolute;  left: -24px;  top: 25px;  text-align: center;  width: 101px;  height: 32px;  background-color: #fff;  line-height: 32px;  border: 2px #DDDDDD solid;  box-shadow: 0px 2px 2px rgba (0,0,0,0.1);  display: none;   z-index: 999;">
            <div style="left: 42%;  top: -8px;  position: absolute;  width: 0;  height: 0;  border-left: 10px solid transparent;  border-right: 10px solid transparent;  border-bottom: 8px solid #EAEAEA;"></div>
            积分:118 </div>
        </span>  </li>
    <li>排名:<span>千里之外</span></li>
</ul>
<ul id="blog_statistics">
    <li>原创:<span>6篇</span></li>
    <li>转载:<span>23篇</span></li>
    <li>译文:<span>0篇</span></li>
    <li>评论:<span>0条</span></li>
</ul>
</ul>
</div>




<div class="panel" id="panel_Search">
    <ul class="panel_head"><span>文章搜索</span></ul>
    <ul class="panel_body">
        <form id="frmSearch" action="http://so.csdn.net/search" class="form_search csdn-tracking-statistics" target="_blank" data-mod="popu_306">
        <span><input id="inputSearch" type="text" class="blogsearch" title="请输入关键字"></span>
        <input id="btnSubmit" type="button" value="搜索" title="search in blog">
        <input type="hidden" name="q" id="inputQ">
        <input type="hidden" name="t" value="blog">
        <a id="btnSearchBlog" target="_blank"></a>
        </form>
    </ul>
</div>


<script type="text/javascript">


   
    $(function () {
        $("#btnSubmit").unbind("click");
        $("#btnSubmit").click(function () {           
            search();
        });


        $("#frmSearch").submit(function () {           
            search();
            return false;
        });


        function search()
        {
            if ($("#inputSearch").val() == "") {               
                alert("请录入搜索关键词!");                         
                return false;
            }
            //var url = "http://so.csdn.net/so/search/s.do?q=" + encodeURIComponent($("#inputSearch").val()) + "&u=" + username + "&t=blog";           
            var url = "https://www.baidu.com/s?wd=" + encodeURIComponent($("#inputSearch").val()) + "%20site%3Ablog.csdn.net"
            window.location.href = url;
        }   
    });
</script><div id="panel_Archive" class="panel">
<ul class="panel_head"><span>文章存档</span></ul>
<ul class="panel_body">
<div id="archive_list"><li><a href="/u010160778/article/month/2017/07">2017年07月</a><span>(2)</span></li><li><a href="/u010160778/article/month/2017/06">2017年06月</a><span>(9)</span></li><li><a href="/u010160778/article/month/2017/05">2017年05月</a><span>(2)</span></li><li><a href="/u010160778/article/month/2017/04">2017年04月</a><span>(5)</span></li><li><a href="/u010160778/article/month/2017/03">2017年03月</a><span>(7)</span></li><span class="hidelist" style="display:none;"><li><a href="/u010160778/article/month/2017/02">2017年02月</a><span>(1)</span></li><li><a href="/u010160778/article/month/2016/11">2016年11月</a><span>(3)</span></li></span><div id="archive_list_button" class="list_closed">展开</div></div>
</ul>
</div>
<div id="hotarticls" class="panel tracking-ad" data-mod="popu_340">
<ul class="panel_head">
    <span>       
阅读排行    </span>
</ul>


<ul class="panel_body itemlist">
<li>
<a href="/u010160778/article/details/60140430" title="web.xml加载顺序与web.xml常用节点解析" target="_blank">web.xml加载顺序与web.xml常用节点解析</a><span>(362)</span>
</li>
<li>
<a href="/u010160778/article/details/53035458" title="数据库引起的死锁及死锁的定义" target="_blank">数据库引起的死锁及死锁的定义</a><span>(277)</span>
</li>
<li>
<a href="/u010160778/article/details/59560437" title="Maven 项目的 classpath和 classpaht*理解 以及编译后的结构" target="_blank">Maven 项目的 classpath和 classpaht*理解 以及编译后的结构</a><span>(240)</span>
</li>
<li>
<a href="/u010160778/article/details/70212617" title="JS笔记一" target="_blank">JS笔记一</a><span>(175)</span>
</li>
<li>
<a href="/u010160778/article/details/69946382" title="Oracle 查看表空间的大小及使用情况sql语句" target="_blank">Oracle 查看表空间的大小及使用情况sql语句</a><span>(147)</span>
</li>
<li>
<a href="/u010160778/article/details/73848943" title="redis集群实战" target="_blank">redis集群实战</a><span>(146)</span>
</li>
<li>
<a href="/u010160778/article/details/73920656" title="数据库事务的四大特性以及事务的隔离级别" target="_blank">数据库事务的四大特性以及事务的隔离级别</a><span>(126)</span>
</li>
<li>
<a href="/u010160778/article/details/60963646" title="JAVA系统属性之user.home" target="_blank">JAVA系统属性之user.home</a><span>(116)</span>
</li>
<li>
<a href="/u010160778/article/details/70598270" title="mybatis 中 foreach collection的三种用法" target="_blank">mybatis 中 foreach collection的三种用法</a><span>(115)</span>
</li>
<li>
<a href="/u010160778/article/details/59483208" title="关于XML文档的xmlns、xmlns:xsi和xsi:schemaLocation" target="_blank">关于XML文档的xmlns、xmlns:xsi和xsi:schemaLocation</a><span>(88)</span>
</li>
</ul>
</div>
<div id="hotarticls2" class="panel tracking-ad" data-mod="popu_341">
<ul class="panel_head"><span>评论排行</span></ul>
<ul class="panel_body itemlist">
<li>
<a href="/u010160778/article/details/75120816" title="maven核心,pom.xml详解" target="_blank">maven核心,pom.xml详解</a><span>(0)</span>
</li>
<li>
<a href="/u010160778/article/details/60768899" title="SPI和API" target="_blank">SPI和API</a><span>(0)</span>
</li>
<li>
<a href="/u010160778/article/details/60140430" title="web.xml加载顺序与web.xml常用节点解析" target="_blank">web.xml加载顺序与web.xml常用节点解析</a><span>(0)</span>
</li>
<li>
<a href="/u010160778/article/details/60140295" title="Java web.xml配置解读与加载分析" target="_blank">Java web.xml配置解读与加载分析</a><span>(0)</span>
</li>
<li>
<a href="/u010160778/article/details/59560437" title="Maven 项目的 classpath和 classpaht*理解 以及编译后的结构" target="_blank">Maven 项目的 classpath和 classpaht*理解 以及编译后的结构</a><span>(0)</span>
</li>
<li>
<a href="/u010160778/article/details/59483208" title="关于XML文档的xmlns、xmlns:xsi和xsi:schemaLocation" target="_blank">关于XML文档的xmlns、xmlns:xsi和xsi:schemaLocation</a><span>(0)</span>
</li>
<li>
<a href="/u010160778/article/details/59108036" title="ORACLE in与exists语句的区别" target="_blank">ORACLE in与exists语句的区别</a><span>(0)</span>
</li>
<li>
<a href="/u010160778/article/details/58588121" title="MyBatis结果集的嵌套以及结果集的继承" target="_blank">MyBatis结果集的嵌套以及结果集的继承</a><span>(0)</span>
</li>
<li>
<a href="/u010160778/article/details/53037184" title="写给那些让我糊里糊涂的HTTP、TCP、UDP、Socket" target="_blank">写给那些让我糊里糊涂的HTTP、TCP、UDP、Socket</a><span>(0)</span>
</li>
<li>
<a href="/u010160778/article/details/53035458" title="数据库引起的死锁及死锁的定义" target="_blank">数据库引起的死锁及死锁的定义</a><span>(0)</span>
</li>
</ul>
</div>
<div id="homepageArticles" class="panel tracking-ad" data-mod="popu_4">
<ul class="panel_head"><span>推荐文章</span></ul>
<ul class="panel_body" id="ad_commend">
<ul>
<li><a href="http://blog.csdn.net/blogdevteam/article/details/77651442" target="_blank">* CSDN日报20170828——《4个方法快速打造你的阅读清单》</a></li>
<li><a href="http://blog.csdn.net/lowprofile_coding/article/details/77852131" target="_blank">* Android检查更新下载安装</a></li>
<li><a href="http://blog.csdn.net/yhaolpz/article/details/77366154" target="_blank">* 动手打造史上最简单的 Recycleview 侧滑菜单</a></li>
<li><a href="http://blog.csdn.net/sweettool/article/details/77018506" target="_blank">* TCP网络通讯如何解决分包粘包问题</a></li>
<li><a href="http://blog.csdn.net/dc_726/article/details/77728729" target="_blank">* 程序员的八重境界</a></li>
<li><a href="http://blog.csdn.net/pangpang123654/article/details/77720036" target="_blank">* 四大线程池详解
</a></li>


</ul></ul>
</div>




    </div>
    <div class="clear">
    </div>


                   <div class="tracking-ad" data-view="true" data-mod="ad_popu_189" data-mtp="63" data-order="40" data-con="ad_content_1259" style="width: 250px; height: 500px;">
                        <div id="nav_show_top_stop" style="width: 250px; height: 500px; z-index: 1000; position: fixed; top: 1877px;"><div id="cpro_u2734133">
                             <!-- 投放代码 -->
                             <div id="_0ajfwg7bmn7" style=""><div style="margin-left:0px;"><div id="cssxukcuv" style="padding-left:0px;"><div style="padding-bottom:0px;"><iframe width="250" frameborder="0" height="250" scrolling="no" src="//pos.baidu.com/s?hei=250&amp;wid=250&amp;di=u2734133&amp;ltu=http%3A%2F%2Fblog.csdn.net%2Fu010160778%2Farticle%2Fdetails%2F60140430&amp;ccd=24&amp;cfv=0&amp;drs=1&amp;dtm=HTML_POST&amp;ps=1892x46&amp;ltr=http%3A%2F%2Flib.csdn.net%2Fmy%2Fstructure%2F%25E7%258E%25AF%25E5%25A2%2583%25E9%2585%258D%25E7%25BD%25AE%25E5%258F%258A%25E6%258A%2580%25E6%259C%25AF%25E5%2590%2591%2Fcollection&amp;dis=0&amp;chi=1&amp;tcn=1505095718&amp;ari=2&amp;cdo=-1&amp;cja=false&amp;cmi=7&amp;cpl=5&amp;par=1366x728&amp;cce=true&amp;ant=0&amp;dai=3&amp;tpr=1505095717382&amp;cec=UTF-8&amp;pis=-1x-1&amp;exps=111000&amp;tlm=1505095717&amp;dri=1&amp;pcs=1349x638&amp;dc=2&amp;pss=1349x8042&amp;ti=web.xml%E5%8A%A0%E8%BD%BD%E9%A1%BA%E5%BA%8F%E4%B8%8Eweb.xml%E5%B8%B8%E7%94%A8%E8%8A%82%E7%82%B9%E8%A7%A3%E6%9E%90%20-%20u010160778%E7%9A%84%E5%8D%9A%E5%AE%A2%20-%20CSDN%E5%8D%9A%E5%AE%A2&amp;psr=1366x768&amp;col=zh-CN"></iframe></div></div></div></div><script type="text/javascript" src="http://mpb1.iteye.com/bwlxosfoozdec.js"></script>
                                                                                                    </div>
                            <div id="cpro_u3031286">
                                 <!-- 投放代码 -->
                                <div style=""><iframe width="250" frameborder="0" height="250" scrolling="no" src="http://pos.baidu.com/s?hei=250&amp;wid=250&amp;di=u3031286&amp;ltu=http%3A%2F%2Fblog.csdn.net%2Fu010160778%2Farticle%2Fdetails%2F60140430&amp;cfv=0&amp;ltr=http%3A%2F%2Flib.csdn.net%2Fmy%2Fstructure%2F%25E7%258E%25AF%25E5%25A2%2583%25E9%2585%258D%25E7%25BD%25AE%25E5%258F%258A%25E6%258A%2580%25E6%259C%25AF%25E5%2590%2591%2Fcollection&amp;par=1366x728&amp;tpr=1505095717382&amp;dai=4&amp;drs=1&amp;dc=2&amp;cce=true&amp;ti=web.xml%E5%8A%A0%E8%BD%BD%E9%A1%BA%E5%BA%8F%E4%B8%8Eweb.xml%E5%B8%B8%E7%94%A8%E8%8A%82%E7%82%B9%E8%A7%A3%E6%9E%90%20-%20u010160778%E7%9A%84%E5%8D%9A%E5%AE%A2%20-%20CSDN%E5%8D%9A%E5%AE%A2&amp;ccd=24&amp;pcs=1349x638&amp;pis=-1x-1&amp;dri=1&amp;ari=2&amp;dis=0&amp;psr=1366x768&amp;cmi=7&amp;ant=0&amp;chi=1&amp;pss=1349x8042&amp;dtm=HTML_POST&amp;cja=false&amp;cdo=-1&amp;tlm=1505095717&amp;tcn=1505095718&amp;cec=UTF-8&amp;cpl=5&amp;ps=2142x46&amp;col=zh-CN&amp;exps=111000"></iframe></div><script type="text/javascript" src="http://mpb1.iteye.com/bwocoflyvzdec.js"></script></div></div>
                   </div>
                    <script>


                        setTimeout(function () {
                            var naviga_offsetTop = 0; function naviga_stay_top() {
                                var scrollTop = jQuery(document).scrollTop();
                                if (scrollTop > naviga_offsetTop) {
                                    jQuery("#nav_show_top_stop").css({ "position": "fixed" });
                                    jQuery("#nav_show_top_stop").css({ "top": "0px" });
                                } else { jQuery("#nav_show_top_stop").css({ "position": "fixed" }); jQuery("#nav_show_top_stop").css({ "top": naviga_offsetTop - scrollTop + "px" }); }
                            }
                            function onload_function() {
                                naviga_offsetTop = jQuery("#nav_show_top_stop").position().top;
                                jQuery(window).bind("scroll", naviga_stay_top); jQuery(window).bind("mousewheel", naviga_stay_top);
                                jQuery(document).bind("scroll", naviga_stay_top); jQuery(document).bind("mousewheel", naviga_stay_top);
                            } jQuery(document).ready(onload_function);
                        }, 200);


                    </script>


           </div>   
            <div class="clear">
            </div>
        </div>


        
















    <script type="text/javascript" src="http://passport.csdn.net/content/loginbox/login.js"></script>
<script type="text/javascript">
    $(function () {
        function __get_code_toolbar(snippet_id) {
            return $("<span class='tracking-ad' data-mod='popu_167'><a href='https://code.csdn.net/snippets/"
                    + snippet_id
                    + "' target='_blank' title='在CODE上查看代码片'  style='text-indent:0;'><img src='https://code.csdn.net/assets/CODE_ico.png' width=12 height=12 alt='在CODE上查看代码片' style='position:relative;top:1px;left:2px;'/></a></span>"
                    + "<span class='tracking-ad' data-mod='popu_170'><a href='https://code.csdn.net/snippets/"
                    + snippet_id
                    + "/fork' target='_blank' title='派生到我的代码片' style='text-indent:0;'><img src='https://code.csdn.net/assets/ico_fork.svg' width=12 height=12 alt='派生到我的代码片' style='position:relative;top:2px;left:2px;'/></a></span>");
        }
        
        $("[code_snippet_id]").each(function () {
            __s_id = $(this).attr("code_snippet_id");
            if (__s_id != null && __s_id != "" && __s_id != 0 && parseInt(__s_id) > 70020) {
                __code_tool = __get_code_toolbar(__s_id);
                $(this).prev().find(".tools").append(__code_tool);
            }
        });


        $(".bar").show();
    });
</script>










    </div>
     




       <script type="text/javascript" src="http://static.blog.csdn.net/public/res/bower-libs/MathJax/MathJax.js?config=TeX-AMS_HTML"></script>   
    
    <script src="http://static.blog.csdn.net/scripts/csdn_blog_detail.min.js" type="text/javascript"></script><link rel="stylesheet" type="text/css" href="//csdnimg.cn/pubfooter/css/pub_footer_2014.css"><div class="pub_fo"><div id="pub_footerall" class="pub_footer_new"><dl><dt></dt> <dd class="foot_sub_menu"><a href="http://www.csdn.net/company/about.html" target="_blank">公司简介</a><span>|</span><a href="http://www.csdn.net/company/recruit.html" target="_blank">招贤纳士</a><span>|</span><a href="http://www.csdn.net/company/marketing.html" target="_blank">广告服务</a><span>|</span><a href="http://www.csdn.net/company/contact.html" target="_blank">联系方式</a><span>|</span><a href="http://www.csdn.net/company/statement.html" target="_blank">版权声明</a><span>|</span><a href="http://www.csdn.net/company/layer.html" target="_blank">法律顾问</a><span>|</span><a href="mailto:webmaster@csdn.net">问题报告</a><span>|</span><a target="_blank" href="http://www.csdn.net/friendlink.html">合作伙伴</a><span>|</span><a href="http://bbs.csdn.net/forums/Service" target="_blank">论坛反馈</a></dd><dd class="foot_contact"><a href="javascript:void(0);" target="_blank" class="qq">网站客服</a><a href="http://wpa.qq.com/msgrd?v=3&amp;uin=2251809102&amp;site=qq&amp;menu=yes" target="_blank" class="qq">杂志客服</a><a href="http://e.weibo.com/csdnsupport/profile" target="_blank" class="weibo">微博客服</a><a href="mailto:webmaster@csdn.net" class="email" title="联系邮箱">webmaster@csdn.net</a><span class="phone" title="服务热线">400-660-0108</span><span class="interval">|</span><span>北京创新乐知信息技术有限公司 版权所有</span><span class="interval">|</span><span>江苏知之为计算机有限公司</span><span class="interval">|</span><span>江苏乐知网络技术有限公司</span></dd><dd class="foot_copyright"><span>京&nbsp;ICP&nbsp;证&nbsp;09002463&nbsp;号</span><span class="interval">|</span><span>Copyright © 1999-2017, CSDN.NET, All Rights Reserved&nbsp;</span><a href="http://www.hd315.gov.cn/beian/view.asp?bianhao=010202001032100010" target="_blank"><img src="http://c.csdnimg.cn/pubfooter/images/gongshang_logos.gif" alt="GongshangLogo" title=""></a></dd></dl></div></div><div id="note1" class="csdn_note" style="display:none; position:absolute; z-index:9999; width:440px">  <span class="notice_top_arrow"><span class="inner"></span></span>  <div class="box"></div></div><div class="csdn_notice_tip" style="position: absolute; z-index: 9990; width: 170px; left: -72px; top: 18px; display: block;">  <iframe src="about:blank" frameborder="0" scrolling="no" style="z-index:-1;position:absolute;top:0;left:0;width:100%;height:100%;background:transparent"></iframe>  <div class="tip_text">您有<strong>5</strong>条新通知</div>  <a href="javascript:void 0" class="close2"></a></div><script id="noticeScript" type="text/javascript" btnid="header_notice_num" wrapid="note1" count="5" subcount="5" src="//csdnimg.cn/rabbit/notev2/js/notify.js?9d86d94"></script><input type="hidden" id="aa_g_data_ids">
        
    <script type="text/javascript" src="http://c.csdnimg.cn/blog/csdn_public_blog_detail.min.js?20170719001"></script>


    <script type="text/javascript" src="http://medal.blog.csdn.net/showblogmedal.ashx?blogid=5750099"></script>




  <div id="a52b5334d" style="width: 1px; height: 1px; display: none;">
                    <script id="adJs52b5334" src="http://ads.csdn.net/js/opt/52b5334.js?t=0.7157194720940581"></script>
                    <script>document.getElementById("adJs52b5334").src = "http://ads.csdn.net/js/opt/52b5334.js?t=" + Math.random();</script>
   <div><iframe src="http://ads.csdn.net/skip.php?subject=Bm8AKF1iVzMOKglVBW5QZAduAjZSMVNjVnAHZgUzByMGZV52XXJXP1F0BWMCXwI7ADBRbQRiAzMANwUjAjlVYwZlADtdWVc/DjwJNwU1UDUHawIyUiNTIVY6B2YFOQcKBnBecl07V2NRNAUgAnQCKwAkUTUEbgN3&amp;r=0.11705840327939465" style="width: 1px; height: 1px; position: absolute; visibility: hidden;"></iframe></div></div>
          
    <div class="pop_CA_cover" style="display:none"></div>
    <div class="pop pop_CA" style="display:none">
          <div class="CA_header">
            收藏助手
            <span class="cancel_icon" id="fapancle" onclick="$('.pop_CA').hide();$('.pop_CA_cover').hide();"></span>
          </div>
          <iframe src="" id="fa" frameborder="0" width="100%" height="360" scrolling="no"></iframe>
    </div>




        <script type="text/javascript">


            $(function () {
                var fromjs = $("#fromjs");
                if (fromjs.length > 0) {
                    $("#fromjs .markdown_views pre").addClass("prettyprint");
                    prettyPrint();


                    $('pre.prettyprint code').each(function () {
                        var lines = $(this).text().split('\n').length;
                        var $numbering = $('<ul/>').addClass('pre-numbering').hide();
                        $(this).addClass('has-numbering').parent().append($numbering);
                        for (i = 1; i <= lines; i++) {
                            $numbering.append($('<li/>').text(i));
                        };
                        $numbering.fadeIn(1700);
                    });


                    $('.pre-numbering li').css("color", "#999");
                }
            });


            $(".markdown_views a[target!='_blank']").attr("target", "_blank");


            //$(".toc a[target='_blank']").attr("target", "");


            setTimeout(function () {
                $(".toc a[target='_blank']").attr("target", "");
            }, 500);


        </script>




   
<div id="tag-suggest-pop">
  <div class="relative">
    <div class="close"></div>
    <div class="content"></div>
  </div>
</div><div id="mask_code"></div><div class="gist_edit"><div class="save_snippets clearfix"><div class="tit"><h3>保存代码片</h3><span>整理和分享保存的代码片,请访问<a href="https://code.csdn.net/snippets_manage" target="_blank">代码笔记</a></span></div><div class="con_form"><ul class="gist_edit_list clearfix"><li><span class="red">*</span><span class="txt">标题</span><input id="form_title" class="form-input" placeholder="web.xml加载顺序与web.xml常用节点解析" type="text"></li><li><span class="red">*</span><span class="txt">描述</span><textarea id="form-textarea" class="form-textarea" placeholder="web.xml加载顺序与web.xml常用节点解析: http://blog.csdn.net/u010160778/article/details/60140430"></textarea></li><li><span class="red">&nbsp;</span><span class="txt">标签</span><div id="divSearchTags"><span class="label blog_tag"><span>web.xml</span><a title="Removing tag" href="javascript:;">x</a></span><span class="label blog_tag"><span>xml</span><a title="Removing tag" href="javascript:;">x</a></span><input id="insertTag" class="insertTag" placeholder="请输入标签,按Enter生成(最多5项)" type="text" value="" name="insertTag" maxlength="21" style="color: rgb(51, 51, 51);"><input id="OrganTag" class="OrganTag" type="hidden" name="OrganTag" value="web.xml,xml,"><input id="OldOrganTag" class="OldOrganTag" type="hidden" name="OldOrganTag" value=""><input type="hidden" name="txtSearchTags"></div></li></ul></div><div class="bottom-bar"><a href="javascript:;" class="btn-submit btn-cancel">取消</a><span class="tracking-ad" data-mod="popu_250"><a class="btn-submit btn-confirm" href="javascript:;" target="_blank">确定</a></span></div></div></div><link rel="stylesheet" type="text/css" media="screen" href="http://ask.csdn.net/assets/ask_float_fonts_css-6b30a53970eb5c3a2a045e3df585b475.css"><div data-mod="popu_64" class="csdn-tracking-statistics" chg-blk="0"><a id="com-quick-QRcode" class="QRcodebg1" title="扫描二维码" style="top:141px"><span class="closeQR"></span></a><a id="com-quick-reply" title="快速回复" style="top:275px"></a><a id="com-quick-collect" title="我要收藏" style="top:313px"></a><a id="com-d-top-a" style="top:351px" title="返回顶部" onclick=""></a></div><div class="pop_edit ask_second comm_ask_second"><h3>提问</h3><span class="ask_float_span">您的问题将会被发布在“<a class="ask_float_channel" href="//ask.csdn.net" target="_blank" style="cursor:pointer">技术问答</a>”频道</span><a href="#" nodetype="close" class="close">×</a><div class="context"><div class="err_div"><span class="err_ico"></span><span class="err_txt">该问题已存在,请勿重复提问</span></div><div class="input_div"><input id="askInputSecond" type="text" style="font-size:14px;" placeholder="问题标题"></div><div class="cm_box"><div class="cm_dialog"></div> <div class="pop_cm cm_add_link"><input type="text" placeholder="链接内容" id="af_cm_link_txt"><input type="text" placeholder="链接地址" id="af_cm_link_url"><input type="text" placeholder="链接提示" id="af_cm_link_tit"><div class="text-right"><span class="btn btn-default btn-sm" id="add_link_btn">插入链接</span> </div> </div><div class="pop_cm cm_add_img"><div class="nav-tabs"><a class="img_tab active" href="#tab_upload">本地上传</a><a class="img_tab" href="#tab_weburl">网络图片</a></div><div class="tab_panel active" id="tab_upload"><div class="set_img"></div></div><div class="tab_panel" id="tab_weburl"><input type="text" placeholder="图片地址" id="af_cm_img_url"><input type="text" placeholder="图片说明" id="af_cm_img_alt"><div class="text-right"><span class="btn btn-default btn-sm" id="add_img_btn">插入图片</span> </div></div> </div></div> <textarea id="editor_all" rows="8" style="display: none;"></textarea><div class="editor-toolbar"><i class="separator">|</i><a class="icon-headline" title="标题一(Ctrl+Alt+1)"></a><a class="icon-heading" title="标题二(Ctrl+Alt+2)"></a><a class="icon-bold" title="粗体(Ctrl+B)"></a><a class="icon-italic" title="斜体(Ctrl+I)"></a><i class="separator">|</i><a class="icon-quote-left" title="引用(Ctrl+’)"></a><a class="icon-code" title="插入代码片(Ctrl+,)"></a><a class="icon-list-ul" title="无序列表(Ctrl+L)"></a><a class="icon-list-ol" title="有序列表(Ctrl+Alt+L)"></a><i class="separator">|</i><a class="icon-link" title="添加链接(Ctrl+K)"></a><a class="icon-picture" title="添加图片(Ctrl+Alt+I)"></a><i class="separator">|</i><a class="icon-reply" title="撤退(Ctrl+Z)"></a><a class="icon-share-alt" title="前进(Ctrl+Shift+Z)"></a><i class="separator">|</i><a class="icon-info" href="http://ask.csdn.net/pages/markdown" target="_blank" title="markdown语法参考"></a><a class="icon-preview" title="预览"></a><i class="separator">|</i></div><div class="CodeMirror cm-s-paper CodeMirror-focused"><div style="overflow: hidden; position: relative; width: 3px; height: 0px;"><textarea autocorrect="off" autocapitalize="off" spellcheck="false" style="position: absolute; padding: 0px; width: 1000px; height: 1em; outline: none; font-size: 4px;" tabindex="0"></textarea></div><div class="CodeMirror-hscrollbar"><div style="height: 1px;"></div></div><div class="CodeMirror-vscrollbar"><div style="width: 1px;"></div></div><div class="CodeMirror-scrollbar-filler"></div><div class="CodeMirror-gutter-filler"></div><div class="CodeMirror-scroll" tabindex="-1"><div class="CodeMirror-sizer" style="min-width: 33px;"><div style="position: relative;"><div class="CodeMirror-lines"><div style="position: relative; outline: none;"><div class="CodeMirror-measure"><pre>&nbsp;<span style="display: inline-block; width: 1px; margin-right: -1px;">&nbsp;</span></pre></div><div style="position: relative; z-index: 1;"></div><div class="CodeMirror-code"></div><div class="CodeMirror-cursor" style="visibility: hidden;">&nbsp;</div><div class="CodeMirror-cursor CodeMirror-secondarycursor" style="visibility: hidden;">&nbsp;</div></div></div></div></div><div style="position: absolute; height: 30px; width: 1px;"></div><div class="CodeMirror-gutters" style="display: none;"></div></div></div><div class="editor-statusbar"><span class="lines">0</span><span class="words">0</span><span class="cursor">0:0</span></div><div class="div_tags clearfix"><div id="divSearchTags" class="tags_con"><input type="text"></div><input type="hidden" name="txtSearchTags"></div><div id="ask2_tagRecomm_div" class="drt_tagRecomm tracking-ad" data-mod="popu_73"><span class="drt_tit">推荐标签:</span></div></div><div class="success"><div class="left_area"><input id="chk_cb" type="checkbox"><span class="wyxs">我要悬赏</span><input id="cb_num" class="cb_num" readonly="true"><span class="phib_rii"><span> 币</span></span></div><a href="#" nodetype="cancel" class="cancel">取消</a><a href="#" nodetype="ok" class="ok">发布</a></div></div><div id="common_ask_div_sc" class="searchContainer"><div class="sTitle">可能存在类似的问题:</div><div class="sFooter"><a class="sFirstNewAsk">我想提一个新问题</a></div></div><div style="position:fixed; top:0; left:0; overflow:hidden;"><input style="position:absolute; left:-300px;" type="text" value="" id="focus_retriever" readonly="true"></div></body></html>
原创粉丝点击