< description > < display > < icon >
这三个元素提供了Web容器部署工具用描述应用的信息.
< icon >
< small-icon > /images/small.gif </ small-icon > <!-- 16*16 -->
< large-icon > /images/large.jpg </ large-icon > <!-- 32*32 -->
</ icon >
< display-name > The applicaiton name </ display-name >
< description > A longer description of the application </ description >
< distributable >:元素用于告知Web容器: 应用设计为在分布式Web容器中运行.
< context-param >:可以定义对应用的所有组件(servlet和JSP页面)都可用的上下文参数.
< context-param >
< param-name > jdbcURL </ param-name >
< param-value > jdbc:Microsoft:sqlserver://localhost:1433;databasename=\'aa\'</ param-value >
</ context-param >
< filter >:元素可以注册一个过滤器组件.
< filter >
< filter-name > accessControl </ filter-name >
< fitler-class > com.mycomp.AccessControlFilter </ filter-class >
< init-param >
< param-name > loginPage </ param-name >
< param-value > /login.jsp </ param-name >
</ init-param >
</ filter >
< filter-mapping >:可以将过滤器映像至一个URI模式, 或者映像至一个Servlet.
< filter-mapping >
< filter-name > accessControl </ filter-name >
< url-pattern > /protected </ url-pattern >
</ filter-mapping >
< filter-mapping >
< filter-name > accessControl </ filter-name >
< servlet-name > servletName </ servlet-name >
< filter-mapping >
< listener >:用于注册一个监听组件.
< listener >
< listener-class > com.mycomp.AppInitListener </ listener-class >
</ listener >
< servlet >:定义了Servlet或JSP页面的细节. 最常见的情况是, 此元素仅把一个Servlet或JSP页面与一个短名相关联, 并指定初始化参数:
< servlet >
< servlet-name > purchase </ servlet-name >
< servlet-class > com.mycomp.servlets.PurchaseServlet </ server-class >
< init-param >
< param-name > maxAmount </ param-name >
< param-value > 500.00 </ param-value >
</ init-param >
</ servlet >
< servlet >
< servlet-name > order-form </ servlet-name >
< jsp-file > /po/orderform.jsp </ jsp-file >
< init-param >
< param-name > bgColor </ param-name >
< param-value > blue </ param-value >
</ init-param >
</ servlet >
< load-on-starup >:子元素可以告诉容器在应用开始时加载Servlet.这个值是一个正整数, 指示了Servlet相对于其它Servlet的加载时间.此值较小的Servlet要早于值较大的Servlet得到加载.
< servlet >
< servlet-name > controller </ servlet-name >
< servlet-class > com.mycomp.servlets.ControllerServlet </ servlet-class >
< load-on-starup > 1 </ load-on-starup >
</ servlet >
< servlet-mapping >:元素将一个Servlet或JSP页面映像至一个URL模式.
路径前缀模式:
< servlet-mapping >
< servlet-name > purchase </ servlet-name >
< url-pattern > /po/* </ url-pattern >
</ servlet-mapping >
完全匹模模工:
< servlet-mapping >
< servlet-name > sales-report </ servlet-name >
< url-pattern > /report </ url-pattern >
< servlet-mapping >
扩展名映像模式:
< servlet-mapping >
< servlet-name > XMLProcessor </ servlet-name >
< url-pattern > *.xml </ url-pattern >
</ servlet-mapping >
< session-config >:元素可以定制会话处理属性.在一个部署描述文件中只能使用一个此类元素.
< session-config >
< session-timeout > 30 </ session-timeout >
</ session-config >
< mime-mapping >:元素可以定义应用所需的映像.Servlet可能需要了解一个文件扩展名对应于哪一种mime类型, 而使用此元素即可以定义这样一个映射:
< mime-mapping >
< extension > wml </ extension >
< mime-type > text/vnd.wap.wml </ mime-type >
</ mime-mapping >
< welcome-file-list >:元素可以定义要在目录中查找并提供文件的有序表.如果使用了多个此类元素, 容器会将其合并.
< welcome-file-list >
< welcome-file > index.html </ welcome-file >
< welcome-file > index.htm </ welcome-file >
< welcome-file > default.html </ welcome-file >
< welcome-file > default.htm </ welcome-file >
</ welcome-file-list >
< error-page >:元素可以定义向用户告知各种错误的页面.< error-page >
< error-code > 404 </ error-code >
< location > /errors/404.html </ location >
</ error-page >
< error-page >
< exception-type > javax.servlet.ServletException </ exception-type >
< location > /errors/exception.jsp </ location >
</ error-page >
< jsp-config >:元素内嵌有处理JSP配置的大多数元素, 在一个部署描述文件中只能使用一个此类元素.
< jsp-property-group >:元素为一组JSP页面定义了一个属性. 这组页面由一个或多个< url-pattern >元素定义.
< jsp-config >
< jsp-property-group >
< url-pattern > *.xml </ url-pattern >
< el-ignored > true </ el-ignored >
< page-encoding > Shift_JTS </ page-encode >
< scripting-invalid > true </ scripting-invalid >
< jsp-propery-group >
</ jsp-config>
< resource-env-ref >:元素声明了通过JNDI可访问的应用资源.
< resource-env-ref >
< resource-env-ref-name > /jms/StockQueue </ resource-env-ref-name>
< resource-env-ref-type > /javax.jms.Queue </ resource-env-ref-type>
</ resource-env-ref >
< resource-ref >:元素为应用对象定义了JNDI可访问对象工厂.
< resource-ref >
< res-ref-name > /jms/Production </ res-ref-name >
< res-ref-type > /javax.sql.DataSource </ res-ref-type >
< res-auth > Container </ res-auth >
</ resource-ref >
< security-constraint >:元素定义了如何访问资源以及由谁访问资源.
< login-config >:元素声明了对于受保护资源使用何种鉴别方法.在一个部署描述文件中只能使用一个此类元素.
< login-config >
< auth-method > FORM </ auth-method >
< form-login-config >
< form-login-page > /login/login.html </ form-login-page >
< form-error-page > /login/error.html </ form-error-page >
</ form-login-config >
</ login-config >
< security-role >:元素用于定义应用所用的角色名.
< security-role >
< role-name > admin </ role-name >
</ security-role >
< security-role >
< role-name > user </ role-name >
</ security-role >
< locale-encoding-mapping-list >:元素定义了本地化环境和响应编码之间的映像, 如果使用了多个此类元素,容器会将其合并.
< locale-encoding-mapping-list >
< locale-encoding-mapping >
< locale > locale </ locale >
< encoding > encoding </ encoding >
</ locale-encoding-mapping >
</ locale-encoding-mapping-list >
< env-entry >:元素用于定义可由应用通过JNDI访问的简单对象, 如String 或 Boolean.
< env-entry >
< env-entry-name > maxConnection </ env-entry-name >
< env-entry-type > java.lang.Integer </ env-entry-type >
< env-entry-value > 100 </ env-entry-value >
</ env-entry >
< ejb-ref >:元素通常用于声明应用所用的一个远程EJB引用.
< ejb-ref >
< ejb-ref-name > ejb/Payroll </ ejb-ref-name >
< ejb-ref-type > Session </ ejb-ref-type >
< home > com.mycomp.PayrollHome </ home >
< remote > com.mycomp.Payroll </ remote >
</ ejb-ref >
< ejb-local-ref >:元素通常用于声明应用所用的一个本地EJB引用.
< ejb-local-ref >
< ejb-ref-home > ejb/Payroll </ ejb-ref-name >
< ejb-ref-type > Session </ ejb-ref-type >
< local-home > com.mycomp.PayrollHome </ local-home >
< local > com.mycomp.Payroll </ local >
</ ejb-local-ref >
< service-ref >:元素用于声明应用所用Web服务的一个引用.
< message-destination-ref >:元素用于声明应用所用的JMS消息和目标引用.
< message-destination >:元素可为应用所用的一个JMS消息目标声明一个逻辑名.