﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-BloveSaga-文章分类-WebService</title><link>http://www.blogjava.net/blovesaga/category/11874.html</link><description>在希腊帕尔纳斯山南坡上,有一个驰名世界的戴尔波伊神托所,在它的入口处的巨石上赫然锈刻着这样几个大字: 认识你自己!</description><language>zh-cn</language><lastBuildDate>Wed, 28 Feb 2007 21:12:48 GMT</lastBuildDate><pubDate>Wed, 28 Feb 2007 21:12:48 GMT</pubDate><ttl>60</ttl><item><title>web.xml元素详解 </title><link>http://www.blogjava.net/blovesaga/articles/50275.html</link><dc:creator>blovesaga</dc:creator><author>blovesaga</author><pubDate>Sun, 04 Jun 2006 07:31:00 GMT</pubDate><guid>http://www.blogjava.net/blovesaga/articles/50275.html</guid><wfw:comment>http://www.blogjava.net/blovesaga/comments/50275.html</wfw:comment><comments>http://www.blogjava.net/blovesaga/articles/50275.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/blovesaga/comments/commentRss/50275.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/blovesaga/services/trackbacks/50275.html</trackback:ping><description><![CDATA[
		<div class="postText">
				<p>   web.xml元素介绍<br /> 每一个站的WEB-INF下都有一个web.xml的设定文件，它提供了我们站台的配置设定.</p>
				<p>web.xml定义：<br /> .站台的名称和说明<br /> .针对环境参数(Context)做初始化工作<br /> .Servlet的名称和映射<br /> .Session的设定<br /> .Tag library的对映<br /> .JSP网页设定<br /> .Mime Type处理<br /> .错误处理<br /> .利用JDNI取得站台资源</p>
				<p>要了解web.xml的设定值，必须了解它的schema,从web.xml中知道它的schema是由Sum Microsystems公司定制的，如果你想更为详细的了解它，<br />可以到<a href="http://java.sun.com/xml/ns/j2ee/web-mapp_2_4.xsd"><font color="#000080">http://java.sun.com/xml/ns/j2ee/web-mapp_2_4.xsd</font></a>网页，那里有更为详细的介绍。这里我介绍我们平常见得最都的.<br />  <br />&lt;?xml version="1.0" encoding="ISO-8859-1"?&gt;</p>
				<p>&lt;web-app xmlns="<a href="http://java.sun.com/xml/ns/j2ee"><font color="#000080">http://java.sun.com/xml/ns/j2ee</font></a>"<br />    xmlns:xsi="<a href="http://www.w3.org/2001/XMLSchema-instance"><font color="#000080">http://www.w3.org/2001/XMLSchema-instance</font></a>"<br />    xsi:schemaLocation="<a href="http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"><font color="#000080">http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd</font></a>"<br />    version="2.4"&gt;<br />&lt;web-app&gt;<br />这是一般在写XML时所做的声明,定义了XML的版本，编码格式,还有重要的指明schema的来源,为<a href="http://java.sun.com/xml/ns/j2ee"><font color="#000080">http://java.sun.com/xml/ns/j2ee</font></a><br />/web-app_2_4.xsd.</p>
				<p>
						<br />&lt;description&gt;,&lt;display-name&gt;,&lt;icon&gt;<br />____________________________________________</p>
				<p>&lt;description&gt;站台描述&lt;/discription&gt;<br />对站台做出描述.</p>
				<p>&lt;display-name&gt;站台名称&lt;/display-name&gt;<br />定义站台的名称.</p>
				<p>&lt;icon&gt;<br />icon元素包含small-icon和large-icon两个子元素.用来指定web站台中小图标和大图标的路径.<br />&lt;small-icon&gt;/路径/smallicon.gif&lt;/small-icon&gt;<br />small-icon元素应指向web站台中某个小图标的路径,大小为16 X 16 pixel,但是图象文件必须为GIF或JPEG格式,扩展名必须为:.gif或<br />.jpg.</p>
				<p>&lt;large-icon&gt;/路径/largeicon-jpg&lt;/large-icon&gt;<br />large-icon元素应指向web站台中某个大图表路径,大小为32 X 32 pixel,但是图象文件必须为GIF或JPEG的格式,扩展名必须为; gif<br />或jpg.<br />范例:<br />&lt;display-name&gt;Develop Example&lt;/display-name&gt;<br />&lt;description&gt;JSP 2.0 Tech Book's Examples&lt;/description&gt;<br />&lt;icon&gt;<br />   &lt;small-icon&gt;/images/small.gif&lt;/small-icon&gt;<br />   &lt;large-icon&gt;/images/large.gir&lt;/large-icon&gt;<br />&lt;/icon&gt;</p>
				<p>
						<br />&lt;distributable&gt;<br />______________________________________</p>
				<p>&lt;distributable&gt;<br />distributable 元素为空标签,它的存在与否可以指定站台是否可分布式处理.如果web.xml中出现这个元素,则代表站台在开发时已经<br />被设计为能在多个JSP Container 之间分散执行.<br />范例:<br />&lt;distributable/&gt;</p>
				<p> </p>
				<p>&lt;context-param&gt;<br />___________________________________</p>
				<p>&lt;context-param&gt;<br />context-param 元素用来设定web站台的环境参数(context),它包含两个子元素:<br />param-name和param-value.<br />&lt;param-name&gt;参数名称&lt;/param-name&gt;<br />设定Context名称<br />&lt;param-value&gt;值&lt;/param-value&gt;<br />设定Context名称的值<br />&lt;/context-param&gt;<br />范例:<br />&lt;context-param&gt;<br />   &lt;param-name&gt;param_name&lt;/param-name&gt;<br />   &lt;param-value&gt;param_value&lt;/param-value&gt;<br />&lt;/context-param&gt;<br />此所设定的参数,在JSP网页中可以使用下列方法来取得:<br />${initParam.param_name}<br />若在Servlet可以使用下列方法来获得:<br />String param_name=getServletContext().getInitParamter("param_name");</p>
				<p> </p>
				<p>&lt;filter&gt;<br />_________________________________<br />filter元素用来声明filter的相关设定.filter元素除了下面介绍的的子元素之外,还包括&lt;servlet&gt;介绍过的&lt;icon&gt;,&lt;display-name&gt;<br />,&lt;description&gt;,&lt;init-param&gt;,其用途一样.<br />&lt;filter-name&gt;Filter的名称&lt;/filter-name&gt;<br />定义Filter的名称.<br />&lt;filter-class&gt;Filter的类名称&lt;/filter-class&gt;<br />定义Filter的类名称.例如:com.foo.hello<br />&lt;/filter&gt;<br />范例:<br />&lt;filter&gt;<br />  &lt;filter-name&gt;setCharacterEncoding&lt;/filter-name&gt;<br />  &lt;filter-class&gt;coreservlet.javaworld.CH11.SetCharacterEncodingFilter&lt;/filter-class&gt;<br />  &lt;init-param&gt;<br />     &lt;param-name&gt;encoding&lt;/param-name&gt;<br />     &lt;param-value&gt;GB2312&lt;/param-value&gt;<br />  &lt;/init-param&gt;<br />&lt;/filter&gt;</p>
				<p>
						<br />&lt;filter-mapping&gt;<br />______________________________________<br />&lt;filter-mapping&gt;<br />filter-mapping 元素的两个主要子元素filter-name和url-pattern.用来定义Filter所对应的URL.<br />&lt;filter-name&gt;Filter的名称&lt;/filter-name&gt;<br />定义Filter的名称.<br />&lt;url-pattern&gt;URL&lt;/url-pattern&gt;<br />Filter所对应的RUL.例如:&lt;url-pattern&gt;/Filter/Hello&lt;/url-pattern&gt;</p>
				<p>&lt;servlet-name&gt;Servlet的名称&lt;servlet-name&gt;<br />定义servlet的名称.<br />&lt;dispatcher&gt;REQUEST|INCLUDE|FORWARD|ERROR&lt;/disaptcher&gt;<br />设定Filter对应的请求方式,有RQUEST,INCLUDE,FORWAR,ERROR四种,默认为REQUEST.<br />&lt;/filter-mapping&gt;<br />范例:<br />&lt;filter-mapping&gt;<br />   &lt;filter-name&gt;GZIPEncoding&lt;/filter-name&gt;<br />   &lt;url-pattern&gt;/*&lt;/url-pattern&gt;<br />&lt;/filter-mapping&gt;</p>
				<p> </p>
				<p>&lt;listener&gt;<br />___________________________________________<br />&lt;listener&gt;<br />listener元素用来定义Listener接口,它的主要子元素为&lt;listener-class&gt;<br />&lt;listen-class&gt;Listener的类名称&lt;/listener-class&gt;<br />定义Listener的类名称.例如: com.foo.hello<br />&lt;listener&gt;<br />范例:<br />&lt;listener&gt;<br />  &lt;listener-class&gt;coreservlet.javaworld.CH11.ContenxtListener&lt;/listener-class&gt;<br />&lt;/listener&gt;</p>
				<p> </p>
				<p>&lt;servlet-mapping&gt;<br />_____________________________________________<br />servlet-mapping元素包含两个子元素servlet-name和url-pattern.用来定义servlet所对应URL.<br />&lt;servlet-name&gt;Servlet的名称&lt;/servlet-name&gt;<br />定义Servlet的名称.<br />&lt;url-pattern&gt;Servlet URL&lt;/url-pattern&gt;<br />定义Servlet所对应的RUL.例如:&lt;url-pattern&gt;/Servlet/Hello&lt;/url-pattern&gt;<br />&lt;/servlet-mapping&gt;<br />范例:<br />&lt;servlet-mapping&gt;<br />   &lt;servlet-name&gt;LoginChecker&lt;/servlet-name&gt;<br />   &lt;url-pattern&gt;/LoginChecker&lt;/url-pattern&gt;<br />&lt;/servlet-mapping&gt;</p>
				<p>
						<br />&lt;session-cofing&gt;<br />__________________________________<br />&lt;session-config&gt;<br />session-config包含一个子元素session-timeout.定义web站台中的session参数.<br />&lt;session-timeout&gt;分钟&lt;/session-timeout&gt;<br />定义这个web站台所有session的有效期限.单位为分钟.<br />&lt;/session-config&gt;<br />范例:<br />&lt;session-config&gt;<br />   &lt;session-timeout&gt;20&lt;/session-timeout&gt;<br />&lt;/session-config&gt;</p>
				<p>
						<br />&lt;mime-mapping&gt;<br />___________________________________________________<br />&lt;mima-mapping&gt;<br />mime-mapping包含两个子元素extension和mime-type.定义某一个扩展名和某一MIME Type做对映.<br />&lt;extension&gt;扩展名名称&lt;/extension&gt;<br />扩展名称<br />&lt;mime-type&gt;MIME格式&lt;/mime-type&gt;<br />MIME格式.<br />&lt;/mime-mapping&gt;<br />范例:<br />&lt;mime-mapping&gt;<br />   &lt;extension&gt;doc&lt;/extension&gt;<br />   &lt;mime-type&gt;application/vnd.ms-word&lt;/mime-type&gt;<br />&lt;/mime-mapping&gt;<br />&lt;mime-mapping&gt;<br />   &lt;extension&gt;xls&lt;/extension&gt;<br />   &lt;mime-type&gt;application/vnd.ms-excel&lt;/mime-type&gt;<br />&lt;/mime-mapping&gt;<br />&lt;mime-mapping&gt;<br />   &lt;extension&gt;ppt&lt;/extesnion&gt;<br />   &lt;mime-type&gt;application/vnd.ms-powerpoint&lt;/mime-type&gt;<br />&lt;/mime-mapping&gt;</p>
				<p>
						<br />&lt;welcome-file-list&gt;<br />_____________________________________________<br />&lt;welcome-file-list&gt;<br />welcome-file-list包含一个子元素welcome-file.用来定义首页列单.<br />&lt;welcome-file&gt;用来指定首页文件名称&lt;/welcome-flie&gt;<br />welcome-file用来指定首页文件名称.我们可以用&lt;welcome-file&gt;指定几个首页,而服务器会依照设定的顺序来找首页.<br />范例:<br />&lt;welcome-file-list&gt;<br />  &lt;welcome-file&gt;index.jsp&lt;/welcome-file&gt;<br />  &lt;welcome-file&gt;index.htm&lt;/welcome-file&gt;<br />&lt;/welcome-file-list&gt;</p>
				<p> </p>
				<p>&lt;error-page&gt;<br />_________________________<br />&lt;error-page&gt;<br />error-page元素包含三个子元素error-code,exception-type和location.将错误代码(Error Code)或异常(Exception)的种类对应<br />到web站台资源路径.<br />&lt;error-code&gt;错误代码&lt;/error-code&gt;<br />HTTP Error code,例如: 404<br />&lt;exception-type&gt;Exception&lt;/exception-type&gt;<br />一个完整名称的Java异常类型<br />&lt;location&gt;/路径&lt;/location&gt;<br />在web站台内的相关资源路径<br />&lt;/error-page&gt;<br />范例:<br />&lt;error-page&gt;<br />   &lt;error-code&gt;404&lt;/error-code&gt;<br />   &lt;location&gt;/error404.jsp&lt;/location&gt;<br />&lt;/error-page&gt;<br />&lt;error-page&gt;<br />   &lt;exception-type&gt;java.lang.Exception&lt;/exception-type&gt;<br />   &lt;location&gt;/except.jsp&lt;/location&gt;<br />&lt;/error-page&gt;</p>
				<p> </p>
				<p>&lt;jsp-config&gt;<br />_______________________________________________<br />&lt;jsp-config&gt;<br />jsp-config元素主要用来设定JSP的相关配置,&lt;jsp:config&gt;包括&lt;taglib&gt;和&lt;jsp-property-group&gt;两个子元素.其中&lt;taglib&gt;元素<br />在JSP 1.2时就已经存在了;而&lt;jsp-property-group&gt;是JSP 2.0新增的元素.</p>
				<p>&lt;taglib&gt;<br />taglib元素包含两个子元素taglib-uri和taglib-location.用来设定JSP网页用到的Tag Library路径.<br />&lt;taglib-uri&gt;URI&lt;/taglib-uri&gt;<br />   taglib-uri定义TLD文件的URI,JSP网页的taglib指令可以经由这个URI存取到TLD文件.<br />&lt;taglib-location&gt;/WEB-INF/lib/xxx.tld&lt;/taglib-laction&gt;<br />   TLD文件对应Web站台的存放位置.<br />&lt;/taglib&gt;</p>
				<p>&lt;jsp-property-group&gt;<br />jsp-property-group元素包含8个元素,分别为:<br />&lt;description&gt;Description&lt;/descrition&gt;<br />此设定的说明</p>
				<p>&lt;display-name&gt;Name&lt;/display-name&gt;<br />此设定的名称</p>
				<p>&lt;url-pattern&gt;URL&lt;/url-pattern&gt;<br />设定值所影响的范围,如:/CH2 或者/*.jsp</p>
				<p>&lt;el-ignored&gt;true|false&lt;/el-ignored&gt;<br />若为true,表示不支持EL语法.</p>
				<p>&lt;scripting-invalid&gt;true|false&lt;/scripting-invalid&gt;<br />若为true表示不支持&lt;%scription%&gt;语法.</p>
				<p>&lt;page-encoding&gt;encoding&lt;/page-encoding&gt;<br />设定JSP网页的编码</p>
				<p>&lt;include-prelude&gt;.jspf&lt;/include-prelude&gt;<br />设置JSP网页的抬头,扩展名为.jspf</p>
				<p>&lt;include-coda&gt;.jspf&lt;/include-coda&gt;<br />设置JSP网页的结尾,扩展名为.jspf<br />&lt;/jsp-property-group&gt;<br />&lt;/jsp-config&gt;<br />范例:<br />&lt;jsp-config&gt;<br />&lt;taglib&gt;<br />   &lt;taglib-uri&gt;Taglib&lt;/taglib-uri&gt;<br />   &lt;taglib-location&gt;/WEB-INF/tlds/MyTaglib.tld&lt;/taglib-location&gt;<br />&lt;/taglib&gt;<br />&lt;jsp-property-group&gt;<br />   &lt;description&gt;<br />      Special property group for JSP Configuration JSP example.<br />   &lt;/description&gt;<br />   &lt;display-name&gt;JSPConfiguration&lt;/display-name&gt;<br />   &lt;uri-pattern&gt;/*&lt;/uri-pattern&gt;<br />   &lt;el-ignored&gt;true&lt;/el-ignored&gt;<br />   &lt;page-encoding&gt;GB2312&lt;/page-encoding&gt;<br />   &lt;scripting-inivalid&gt;true&lt;/scripting-inivalid&gt;<br />   ............<br />&lt;/jsp-property-group&gt;<br />&lt;/jsp-config&gt;</p>
				<p> </p>
				<p>&lt;resource-ref&gt;<br />________________________________________________<br />&lt;resource-ref&gt;<br />resource-ref元素包括五个子元素description,res-ref-name,res-type,res-auth,res-sharing-scope.利用JNDI取得站台可<br />利用资源.<br />&lt;description&gt;说明&lt;/description&gt;<br />资源说明</p>
				<p>&lt;rec-ref-name&gt;资源名称&lt;/rec-ref-name&gt;<br />资源名称</p>
				<p>&lt;res-type&gt;资源种类&lt;/res-type&gt;<br />资源种类</p>
				<p>&lt;res-auth&gt;Application|Container&lt;/res-auth&gt;<br />资源由Application或Container来许可</p>
				<p>&lt;res-sharing-scope&gt;Shareable|Unshareable&lt;/res-sharing-scope&gt;<br /> 资源是否可以共享.默认值为 Shareable<br />范例:<br />&lt;resource-ref&gt;<br />   &lt;description&gt;JNDI JDBC DataSource of JSPBook&lt;/description&gt;<br />   &lt;res-ref-name&gt;jdbc/sample_db&lt;/res-ref-name&gt;<br />   &lt;res-type&gt;javax.sql.DataSoruce&lt;/res-type&gt;<br />   &lt;res-auth&gt;Container&lt;/res-auth&gt;<br />&lt;/resource-ref&gt;<br />这些都是些比较常用的,详细可以登录: <a href="http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"><font color="#000080">http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd</font></a></p>
		</div>
<img src ="http://www.blogjava.net/blovesaga/aggbug/50275.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/blovesaga/" target="_blank">blovesaga</a> 2006-06-04 15:31 <a href="http://www.blogjava.net/blovesaga/articles/50275.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>