<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">登录 </a>|<a target="_top" href="http://passport.csdn.net/account/mobileregister?ref=toolbar&action=mobileRegister"> 注册</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"> 个人主页 - <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&wid=300&di=u2895327&ltu=http%3A%2F%2Fblog.csdn.net%2Fu010160778%2Farticle%2Fdetails%2F60140430&cja=false&cec=UTF-8&ari=2&pcs=1349x638&col=zh-CN&par=1366x728&drs=1&cdo=-1&ps=638x1325&dtm=HTML_POST&ccd=24&cce=true&exps=111000&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&tcn=1505095717&psr=1366x768&dc=2&dai=1&dri=1&pss=1349x7217&cmi=7&dis=0&tpr=1505095717382&tlm=1505095717&pis=-1x-1&chi=1&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&ant=0&cfv=0&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 οnclick="_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 οnclick="_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 οnclick="_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>
<a href="http://edu.csdn.net/huiyiCourse/series_detail/63" target="_blank">
<font color="red"><strong>免费直播:AI时代,机器学习如何入门?</strong></font></a>
<a href="http://blog.csdn.net/turingbooks/article/details/77479427" target="_blank">
<font color="blue"><strong>程序员8月书讯</strong></font></a>
<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" οnclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_tag']);">web.xml</a><a href="http://www.csdn.net/tag/xml" target="_blank" οnclick="_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" οnclick="_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);" οnclick="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" οnclick="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 + " ";
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 --> listener --> filter --> servlet</span></p>
<p><span style="font-size:12px">1、启动WEB项目的时候,应用服务器会去读它的配置文件web.xml.读两个节点:<listener></listener> 和 <context-param></context-param>
<br>
<br>
2、紧接着,容器创建一个ServletContext(上下文),这个WEB项目所有部分都将共享这个上下文.<br>
<br>
3、容器将<context-param></context-param>转化为键值对,并交给ServletContext.<br>
<br>
4、容器创建<listener></listener>中的类实例,即创建监听.<br>
<br>
5、在监听中会有contextInitialized(ServletContextEvent args)初始化方法,在这个方法中获得: <br>
ServletContext = ServletContextEvent.getServletContext();<br>
context-param的值 = ServletContext.getInitParameter("context-param的键"); <br>
<br>
6、得到这个context-param的值之后,你就可以做一些操作了.注意,这个时候你的WEB项目还没有完全启动完成.这个动作会比所有的Servlet都要早.换句话说,这个时候,你对<context-param>中的键值做的操作,将在你的WEB项目完全启动之前被执行.如果想在项目启动之前就打开数据库,那么这里就可以在<context-param>中设置数据库的连接方式,在监听类中初始化数据库的连接,这个监听是自己写的一个类,除了初始化方法,它还有销毁方法.用于关闭应用前释放资源.比如说数据库连接的关闭.</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>
<listener><br>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class><br>
</listener></span></p>
<p><span style="font-size:12px"> </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"><web-app></web-app><br>
</span></strong></p>
<p><span><span style="font-size:12px"><strong>常用节点介绍</strong><br>
2、 <strong><span style="color:#0000ff"><context-param /></span></strong> 用来设定web站台的环境参数<br>
它包含两个子元素:<br>
<param-name></param-name> 用来指定参数的名称<br>
<param-value></param-value> 用来设定参数值<br>
在此设定的参数,可以在servlet中用 getServletContext().getInitParameter("my_param") 来取得<br>
例子:<br>
<context-param><br>
<param-name>log4jConfigLocation</param-name><br>
<param-value>classpath*:/log4j.properties</param-value><br>
</context-param><br>
<br>
3、 <strong><span style="color:#0000ff"><listener /></span></strong> 用来设定Listener接口<br>
它的主要子元素为<br>
<listener-class></listener-class> 定义Listener的类名称<br>
例子:<br>
<listener><br>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class><br>
</listener><br>
<br>
4、 <strong><span style="color:#0000ff"><filter /></span></strong> 是用来声明filter的相关设定<br>
<filter-name></filter-name> 这当然就是指定filter的名字<br>
<filter-class></filter-class> 这是用来定义filter的类的名称<br>
<init-param></init-param> 用来定义参数,它有两个子元素:<br>
<param-name></param-name> 用来指定参数的名称<br>
<param-value></param-value> 用来设定参数值<br>
例子:<br>
<filter><br>
<filter-name>encodingFilter</filter-name><br>
<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class><br>
<init-param><br>
<param-name>encoding</param-name><br>
<param-value>GBK</param-value><br>
</init-param><br>
<init-param><br>
<param-name>forceEncoding</param-name><br>
<param-value>true</param-value><br>
</init-param><br>
</filter><br>
<br>
5、 <strong><span style="color:#0000ff"><servlet /></span></strong> 用来声明一个servlet的数据,主要有以下子元素:<br>
<servlet-name></servlet-name> 指定servlet的名称<br>
<servlet-class></servlet-class> 指定servlet的类名称<br>
<jsp-file></jsp-file> 指定web站台中的某个JSP网页的完整路径<br>
<init-param></init-param> 用来定义参数,和前面的<init-param>差不多<br>
同样,与<servlet></servlet>一起使用的是<br>
<servlet-mapping></servlet-mapping> 用来定义servlet所对应的URL,包含两个子元素:<br>
<servlet-name></servlet-name> 指定servlet的名称<br>
<url-pattern></url-pattern> 指定servlet所对应的URL<br>
<servlet><br>
<servlet-name>DemoServlet</servlet-name><br>
<servlet-class>com.test.DemoServlet</servlet-class><br>
</servlet><br>
<servlet-mapping><br>
<servlet-name>DemoServlet</servlet-name><br>
<url-pattern>/demoServlet</url-pattern><br>
</servlet-mapping><br>
<br>
</span></span></p>
<p><span><span style="font-size:12px"><strong>基本节点:<br>
</strong><br>
6、 <strong><span style="color:#0000ff"><description/></span></strong> 是对站台的描述<br>
例子:<description>传道、授业、解惑</description> <br>
<br>
7、 <strong><span style="color:#0000ff"><display-name/></span></strong> 定义站台的名称<br>
例子:<display-name>我的站点</display-name><br>
<br>
8、 <strong><span style="color:#0000ff"><icon></span></strong> <br>
icon元素包含small-icon和large-icon两个子元素.用来指定web站台中小图标和大图标的路径. <br>
<small-icon>/路径/smallicon.gif</small-icon> <br>
small-icon元素应指向web站台中某个小图标的路径,大小为16 X 16 pixel,但是图象文件必须为GIF或JPEG格式,扩展名必须为:.gif或.jpg.
<br>
<large-icon>/路径/largeicon-jpg</large-icon> <br>
large-icon元素应指向web站台中某个大图表路径,大小为32 X 32 pixel,但是图象文件必须为GIF或JPEG的格式,扩展名必须为; gif或jpg.
<br>
例子: <br>
<icon> <br>
<small-icon>/images/small.gif</small-icon> <br>
<large-icon>/images/large.gir</large-icon> <br>
</icon><br>
<br>
9、 <span style="color:#0000ff"><strong><distributable/></strong></span> 是指定该站台是否可分布式处理<br>
<br>
10、 <span style="color:#0000ff"><strong><session-config/></strong></span> 用来定义web站台中的session参数<br>
包含一个子元素:<br>
<session-timeout></session-timeout> 用来定义这个web站台所有session的有效期限,单位为 分钟<br>
</span></span></p>
<p><span style="font-size:12px">11、 <strong><span style="color:#0000ff"><mime-mapping /></span></strong> 定义某一个扩展名和某一个MIME Type做对应该<br>
包含两个子元素:<br>
<extension></extension> 扩展名的名称<br>
<mime-type></mime-type> MIME格式<br>
例子:<br>
<mime-mapping><br>
<extension>doc</extension> <br>
<mime-type>application/vnd.ms-word</mime-type><br>
</mime-mapping> <br>
<mime-mapping><br>
<extension>xls</extension><br>
<mime-type>application/vnd.ms-excel</mime-type><br>
</mime-mapping><br>
</span></p>
<p><span style="font-size:12px">12、 </span><span><span style="font-size:12px"><span style="color:#0000ff"><strong><error-page><br>
</strong></span> <error-page><br>
<error-code>500</error-code><br>
<location>/message.jsp</location><br>
</error-page><br>
<error-page><br>
<error-code>400</error-code><br>
<location>/message.jsp</location><br>
</error-page><br>
<error-page><br>
<error-code>403</error-code><br>
<location>/message.jsp</location><br>
</error-page><br>
<error-page><br>
<error-code>404</error-code><br>
<location>/message.jsp</location><br>
</error-page><br>
<error-page><br>
<error-code>502</error-code><br>
<location>/index.jsp</location><br>
</error-page><br>
<br>
13、</span></span><span><span style="font-size:12px"><span style="color:#0000ff"><strong> <jsp-config/><br>
</strong></span> <jsp-config><br>
<taglib><br>
<taglib-uri>/struts-tags</taglib-uri><br>
<taglib-location>/WEB-INF/struts-tags.tld</taglib-location><br>
</taglib><br>
<taglib><br>
<taglib-uri>/struts-dojo-tags</taglib-uri><br>
<taglib-location>/WEB-INF/struts-dojo-tags.tld</taglib-location><br>
</taglib><br>
<taglib><br>
<taglib-uri>/s</taglib-uri><br>
<taglib-location>/WEB-INF/struts-tags.tld</taglib-location><br>
</taglib><br>
</jsp-config><br>
<br>
14、 <span style="color:#0000ff"><strong><welcome-file-list/></strong></span><br>
<welcome-file-list><br>
<welcome-file>index.html</welcome-file><br>
<welcome-file>index.htm</welcome-file><br>
<welcome-file>index.jsp</welcome-file><br>
</welcome-file-list><br>
<br>
15<strong>、 <span style="color:#0000ff"><</span></strong><span style="color:#0000ff"><strong><span style="color:#0000ff">resource-ref></resource-ref></span></strong>
</span>定义利用JNDI取得站台可利用的资源<br>
有五个子元素:<br>
<description></description> 资源说明<br>
<rec-ref-name></rec-ref-name> 资源名称<br>
<res-type></res-type> 资源种类<br>
<res-auth></res-auth> 资源经由Application或Container来许可<br>
<res-sharing-scope></res-sharing-scope> 资源是否可以共享,有Shareable和Unshareable两个值,默认为Shareable</span></span></p>
<p><span style="font-size:12px"> 比如,配置数据库连接池就可在此配置<br>
<resource-ref><br>
<description>JNDI JDBC DataSource of shop</description><br>
<res-ref-name>jdbc/sample_db</res-ref-name><br>
<res-type>javax.sql.DataSource</res-type><br>
<res-auth>Container</res-auth><br>
</resource-ref></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&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" οnclick="btndigga();">
<dt>顶</dt>
<dd>0</dd>
</dl>
<dl id="btnBury" class="digg digg_enable" οnclick="btnburya();">
<dt>踩</dt>
<dd>0</dd>
</dl>
</div>
<div class="tracking-ad" data-mod="popu_222"><a href="javascript:void(0);" target="_blank"> </a> </div>
<div class="tracking-ad" data-mod="popu_223"> <a href="javascript:void(0);" target="_blank"> </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 οnclick="_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" οnclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_shangyipian'])">Java web.xml配置解读与加载分析</a></li>
<li class="next_article"><span οnclick="_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" οnclick="_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">
相关文章推荐
</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&wid=960&di=u2998112&ltu=http%3A%2F%2Fblog.csdn.net%2Fu010160778%2Farticle%2Fdetails%2F60140430&pis=-1x-1&dis=0&cdo=-1&tlm=1505095717&cfv=0&ps=7727x326&col=zh-CN&ant=0&tpr=1505095717382&ccd=24&tcn=1505095717&par=1366x728&drs=1&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&dai=2&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&ari=2&cmi=7&dc=2&dtm=HTML_POST&cec=UTF-8&cpl=5&cce=true&exps=111000&pcs=1349x638&cja=false&psr=1366x768&chi=1&pss=1349x7873&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> 暂无评论<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" οnsubmit="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="提交"> <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="返回顶部" οnclick="_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="[发私信]" οnclick="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&wid=250&di=u2734133&ltu=http%3A%2F%2Fblog.csdn.net%2Fu010160778%2Farticle%2Fdetails%2F60140430&ccd=24&cfv=0&drs=1&dtm=HTML_POST&ps=1892x46&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&dis=0&chi=1&tcn=1505095718&ari=2&cdo=-1&cja=false&cmi=7&cpl=5&par=1366x728&cce=true&ant=0&dai=3&tpr=1505095717382&cec=UTF-8&pis=-1x-1&exps=111000&tlm=1505095717&dri=1&pcs=1349x638&dc=2&pss=1349x8042&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&psr=1366x768&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&wid=250&di=u3031286&ltu=http%3A%2F%2Fblog.csdn.net%2Fu010160778%2Farticle%2Fdetails%2F60140430&cfv=0&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&par=1366x728&tpr=1505095717382&dai=4&drs=1&dc=2&cce=true&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&ccd=24&pcs=1349x638&pis=-1x-1&dri=1&ari=2&dis=0&psr=1366x768&cmi=7&ant=0&chi=1&pss=1349x8042&dtm=HTML_POST&cja=false&cdo=-1&tlm=1505095717&tcn=1505095718&cec=UTF-8&cpl=5&ps=2142x46&col=zh-CN&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&uin=2251809102&site=qq&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>京 ICP 证 09002463 号</span><span class="interval">|</span><span>Copyright © 1999-2017, CSDN.NET, All Rights Reserved </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&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" οnclick="$('.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"> </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="返回顶部" οnclick=""></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> <span style="display: inline-block; width: 1px; margin-right: -1px;"> </span></pre></div><div style="position: relative; z-index: 1;"></div><div class="CodeMirror-code"></div><div class="CodeMirror-cursor" style="visibility: hidden;"> </div><div class="CodeMirror-cursor CodeMirror-secondarycursor" style="visibility: hidden;"> </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>
<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">登录 </a>|<a target="_top" href="http://passport.csdn.net/account/mobileregister?ref=toolbar&action=mobileRegister"> 注册</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"> 个人主页 - <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&wid=300&di=u2895327&ltu=http%3A%2F%2Fblog.csdn.net%2Fu010160778%2Farticle%2Fdetails%2F60140430&cja=false&cec=UTF-8&ari=2&pcs=1349x638&col=zh-CN&par=1366x728&drs=1&cdo=-1&ps=638x1325&dtm=HTML_POST&ccd=24&cce=true&exps=111000&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&tcn=1505095717&psr=1366x768&dc=2&dai=1&dri=1&pss=1349x7217&cmi=7&dis=0&tpr=1505095717382&tlm=1505095717&pis=-1x-1&chi=1&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&ant=0&cfv=0&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 οnclick="_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 οnclick="_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 οnclick="_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>
<a href="http://edu.csdn.net/huiyiCourse/series_detail/63" target="_blank">
<font color="red"><strong>免费直播:AI时代,机器学习如何入门?</strong></font></a>
<a href="http://blog.csdn.net/turingbooks/article/details/77479427" target="_blank">
<font color="blue"><strong>程序员8月书讯</strong></font></a>
<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" οnclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_tag']);">web.xml</a><a href="http://www.csdn.net/tag/xml" target="_blank" οnclick="_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" οnclick="_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);" οnclick="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" οnclick="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 + " ";
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 --> listener --> filter --> servlet</span></p>
<p><span style="font-size:12px">1、启动WEB项目的时候,应用服务器会去读它的配置文件web.xml.读两个节点:<listener></listener> 和 <context-param></context-param>
<br>
<br>
2、紧接着,容器创建一个ServletContext(上下文),这个WEB项目所有部分都将共享这个上下文.<br>
<br>
3、容器将<context-param></context-param>转化为键值对,并交给ServletContext.<br>
<br>
4、容器创建<listener></listener>中的类实例,即创建监听.<br>
<br>
5、在监听中会有contextInitialized(ServletContextEvent args)初始化方法,在这个方法中获得: <br>
ServletContext = ServletContextEvent.getServletContext();<br>
context-param的值 = ServletContext.getInitParameter("context-param的键"); <br>
<br>
6、得到这个context-param的值之后,你就可以做一些操作了.注意,这个时候你的WEB项目还没有完全启动完成.这个动作会比所有的Servlet都要早.换句话说,这个时候,你对<context-param>中的键值做的操作,将在你的WEB项目完全启动之前被执行.如果想在项目启动之前就打开数据库,那么这里就可以在<context-param>中设置数据库的连接方式,在监听类中初始化数据库的连接,这个监听是自己写的一个类,除了初始化方法,它还有销毁方法.用于关闭应用前释放资源.比如说数据库连接的关闭.</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>
<listener><br>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class><br>
</listener></span></p>
<p><span style="font-size:12px"> </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"><web-app></web-app><br>
</span></strong></p>
<p><span><span style="font-size:12px"><strong>常用节点介绍</strong><br>
2、 <strong><span style="color:#0000ff"><context-param /></span></strong> 用来设定web站台的环境参数<br>
它包含两个子元素:<br>
<param-name></param-name> 用来指定参数的名称<br>
<param-value></param-value> 用来设定参数值<br>
在此设定的参数,可以在servlet中用 getServletContext().getInitParameter("my_param") 来取得<br>
例子:<br>
<context-param><br>
<param-name>log4jConfigLocation</param-name><br>
<param-value>classpath*:/log4j.properties</param-value><br>
</context-param><br>
<br>
3、 <strong><span style="color:#0000ff"><listener /></span></strong> 用来设定Listener接口<br>
它的主要子元素为<br>
<listener-class></listener-class> 定义Listener的类名称<br>
例子:<br>
<listener><br>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class><br>
</listener><br>
<br>
4、 <strong><span style="color:#0000ff"><filter /></span></strong> 是用来声明filter的相关设定<br>
<filter-name></filter-name> 这当然就是指定filter的名字<br>
<filter-class></filter-class> 这是用来定义filter的类的名称<br>
<init-param></init-param> 用来定义参数,它有两个子元素:<br>
<param-name></param-name> 用来指定参数的名称<br>
<param-value></param-value> 用来设定参数值<br>
例子:<br>
<filter><br>
<filter-name>encodingFilter</filter-name><br>
<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class><br>
<init-param><br>
<param-name>encoding</param-name><br>
<param-value>GBK</param-value><br>
</init-param><br>
<init-param><br>
<param-name>forceEncoding</param-name><br>
<param-value>true</param-value><br>
</init-param><br>
</filter><br>
<br>
5、 <strong><span style="color:#0000ff"><servlet /></span></strong> 用来声明一个servlet的数据,主要有以下子元素:<br>
<servlet-name></servlet-name> 指定servlet的名称<br>
<servlet-class></servlet-class> 指定servlet的类名称<br>
<jsp-file></jsp-file> 指定web站台中的某个JSP网页的完整路径<br>
<init-param></init-param> 用来定义参数,和前面的<init-param>差不多<br>
同样,与<servlet></servlet>一起使用的是<br>
<servlet-mapping></servlet-mapping> 用来定义servlet所对应的URL,包含两个子元素:<br>
<servlet-name></servlet-name> 指定servlet的名称<br>
<url-pattern></url-pattern> 指定servlet所对应的URL<br>
<servlet><br>
<servlet-name>DemoServlet</servlet-name><br>
<servlet-class>com.test.DemoServlet</servlet-class><br>
</servlet><br>
<servlet-mapping><br>
<servlet-name>DemoServlet</servlet-name><br>
<url-pattern>/demoServlet</url-pattern><br>
</servlet-mapping><br>
<br>
</span></span></p>
<p><span><span style="font-size:12px"><strong>基本节点:<br>
</strong><br>
6、 <strong><span style="color:#0000ff"><description/></span></strong> 是对站台的描述<br>
例子:<description>传道、授业、解惑</description> <br>
<br>
7、 <strong><span style="color:#0000ff"><display-name/></span></strong> 定义站台的名称<br>
例子:<display-name>我的站点</display-name><br>
<br>
8、 <strong><span style="color:#0000ff"><icon></span></strong> <br>
icon元素包含small-icon和large-icon两个子元素.用来指定web站台中小图标和大图标的路径. <br>
<small-icon>/路径/smallicon.gif</small-icon> <br>
small-icon元素应指向web站台中某个小图标的路径,大小为16 X 16 pixel,但是图象文件必须为GIF或JPEG格式,扩展名必须为:.gif或.jpg.
<br>
<large-icon>/路径/largeicon-jpg</large-icon> <br>
large-icon元素应指向web站台中某个大图表路径,大小为32 X 32 pixel,但是图象文件必须为GIF或JPEG的格式,扩展名必须为; gif或jpg.
<br>
例子: <br>
<icon> <br>
<small-icon>/images/small.gif</small-icon> <br>
<large-icon>/images/large.gir</large-icon> <br>
</icon><br>
<br>
9、 <span style="color:#0000ff"><strong><distributable/></strong></span> 是指定该站台是否可分布式处理<br>
<br>
10、 <span style="color:#0000ff"><strong><session-config/></strong></span> 用来定义web站台中的session参数<br>
包含一个子元素:<br>
<session-timeout></session-timeout> 用来定义这个web站台所有session的有效期限,单位为 分钟<br>
</span></span></p>
<p><span style="font-size:12px">11、 <strong><span style="color:#0000ff"><mime-mapping /></span></strong> 定义某一个扩展名和某一个MIME Type做对应该<br>
包含两个子元素:<br>
<extension></extension> 扩展名的名称<br>
<mime-type></mime-type> MIME格式<br>
例子:<br>
<mime-mapping><br>
<extension>doc</extension> <br>
<mime-type>application/vnd.ms-word</mime-type><br>
</mime-mapping> <br>
<mime-mapping><br>
<extension>xls</extension><br>
<mime-type>application/vnd.ms-excel</mime-type><br>
</mime-mapping><br>
</span></p>
<p><span style="font-size:12px">12、 </span><span><span style="font-size:12px"><span style="color:#0000ff"><strong><error-page><br>
</strong></span> <error-page><br>
<error-code>500</error-code><br>
<location>/message.jsp</location><br>
</error-page><br>
<error-page><br>
<error-code>400</error-code><br>
<location>/message.jsp</location><br>
</error-page><br>
<error-page><br>
<error-code>403</error-code><br>
<location>/message.jsp</location><br>
</error-page><br>
<error-page><br>
<error-code>404</error-code><br>
<location>/message.jsp</location><br>
</error-page><br>
<error-page><br>
<error-code>502</error-code><br>
<location>/index.jsp</location><br>
</error-page><br>
<br>
13、</span></span><span><span style="font-size:12px"><span style="color:#0000ff"><strong> <jsp-config/><br>
</strong></span> <jsp-config><br>
<taglib><br>
<taglib-uri>/struts-tags</taglib-uri><br>
<taglib-location>/WEB-INF/struts-tags.tld</taglib-location><br>
</taglib><br>
<taglib><br>
<taglib-uri>/struts-dojo-tags</taglib-uri><br>
<taglib-location>/WEB-INF/struts-dojo-tags.tld</taglib-location><br>
</taglib><br>
<taglib><br>
<taglib-uri>/s</taglib-uri><br>
<taglib-location>/WEB-INF/struts-tags.tld</taglib-location><br>
</taglib><br>
</jsp-config><br>
<br>
14、 <span style="color:#0000ff"><strong><welcome-file-list/></strong></span><br>
<welcome-file-list><br>
<welcome-file>index.html</welcome-file><br>
<welcome-file>index.htm</welcome-file><br>
<welcome-file>index.jsp</welcome-file><br>
</welcome-file-list><br>
<br>
15<strong>、 <span style="color:#0000ff"><</span></strong><span style="color:#0000ff"><strong><span style="color:#0000ff">resource-ref></resource-ref></span></strong>
</span>定义利用JNDI取得站台可利用的资源<br>
有五个子元素:<br>
<description></description> 资源说明<br>
<rec-ref-name></rec-ref-name> 资源名称<br>
<res-type></res-type> 资源种类<br>
<res-auth></res-auth> 资源经由Application或Container来许可<br>
<res-sharing-scope></res-sharing-scope> 资源是否可以共享,有Shareable和Unshareable两个值,默认为Shareable</span></span></p>
<p><span style="font-size:12px"> 比如,配置数据库连接池就可在此配置<br>
<resource-ref><br>
<description>JNDI JDBC DataSource of shop</description><br>
<res-ref-name>jdbc/sample_db</res-ref-name><br>
<res-type>javax.sql.DataSource</res-type><br>
<res-auth>Container</res-auth><br>
</resource-ref></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&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" οnclick="btndigga();">
<dt>顶</dt>
<dd>0</dd>
</dl>
<dl id="btnBury" class="digg digg_enable" οnclick="btnburya();">
<dt>踩</dt>
<dd>0</dd>
</dl>
</div>
<div class="tracking-ad" data-mod="popu_222"><a href="javascript:void(0);" target="_blank"> </a> </div>
<div class="tracking-ad" data-mod="popu_223"> <a href="javascript:void(0);" target="_blank"> </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 οnclick="_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" οnclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_shangyipian'])">Java web.xml配置解读与加载分析</a></li>
<li class="next_article"><span οnclick="_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" οnclick="_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">
相关文章推荐
</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&wid=960&di=u2998112&ltu=http%3A%2F%2Fblog.csdn.net%2Fu010160778%2Farticle%2Fdetails%2F60140430&pis=-1x-1&dis=0&cdo=-1&tlm=1505095717&cfv=0&ps=7727x326&col=zh-CN&ant=0&tpr=1505095717382&ccd=24&tcn=1505095717&par=1366x728&drs=1&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&dai=2&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&ari=2&cmi=7&dc=2&dtm=HTML_POST&cec=UTF-8&cpl=5&cce=true&exps=111000&pcs=1349x638&cja=false&psr=1366x768&chi=1&pss=1349x7873&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> 暂无评论<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" οnsubmit="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="提交"> <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="返回顶部" οnclick="_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="[发私信]" οnclick="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&wid=250&di=u2734133&ltu=http%3A%2F%2Fblog.csdn.net%2Fu010160778%2Farticle%2Fdetails%2F60140430&ccd=24&cfv=0&drs=1&dtm=HTML_POST&ps=1892x46&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&dis=0&chi=1&tcn=1505095718&ari=2&cdo=-1&cja=false&cmi=7&cpl=5&par=1366x728&cce=true&ant=0&dai=3&tpr=1505095717382&cec=UTF-8&pis=-1x-1&exps=111000&tlm=1505095717&dri=1&pcs=1349x638&dc=2&pss=1349x8042&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&psr=1366x768&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&wid=250&di=u3031286&ltu=http%3A%2F%2Fblog.csdn.net%2Fu010160778%2Farticle%2Fdetails%2F60140430&cfv=0&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&par=1366x728&tpr=1505095717382&dai=4&drs=1&dc=2&cce=true&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&ccd=24&pcs=1349x638&pis=-1x-1&dri=1&ari=2&dis=0&psr=1366x768&cmi=7&ant=0&chi=1&pss=1349x8042&dtm=HTML_POST&cja=false&cdo=-1&tlm=1505095717&tcn=1505095718&cec=UTF-8&cpl=5&ps=2142x46&col=zh-CN&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&uin=2251809102&site=qq&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>京 ICP 证 09002463 号</span><span class="interval">|</span><span>Copyright © 1999-2017, CSDN.NET, All Rights Reserved </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&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" οnclick="$('.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"> </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="返回顶部" οnclick=""></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> <span style="display: inline-block; width: 1px; margin-right: -1px;"> </span></pre></div><div style="position: relative; z-index: 1;"></div><div class="CodeMirror-code"></div><div class="CodeMirror-cursor" style="visibility: hidden;"> </div><div class="CodeMirror-cursor CodeMirror-secondarycursor" style="visibility: hidden;"> </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>