重拾J2EE(001-web.xml)
工作以来一直在从事android的开发,J2EE基本上全部忘光了.今天开始重新学习.
web.xml
学名叫做部署描述符文件,是在Servlet规范中定义的,是j2ee web应用的配置文件.
必须以xml头开始,根元素为 web-app(必须小写)
web.xml中xml元素不仅是大小写敏感,而且对元素次序敏感,
xml头必须是文件中的第一项
DOCTYPE声明必须是第二项
web-app元素必须是第三项
在web-app元素内,元素的次序也很重要。服务器不一定强制要求这种次序,但它们允许(实际上有些服务器就是这样做的)完全拒绝执行含有次序不正确的元素的Web应用。这表示使用非标准元素次序的web.xml文件是不可移植的。
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app>
</web-app>
icon
含义:包含small-icon和large-icon两个子元素,用来指定web站台中小图标和大图标的路径.small大小为16*16px,large为32*32,格式为gif或者jpeg,
范例
<icon> <small-icon>/images/small.jpg</small-icon> <large-icon>/images/large.jpg</large-icon> </icon>
display-name
含义 应用名称
范例
<display-name>应用名称</display-name>
description
含义: 应用描述
范例
<description>应用描述</description>
distributable
含义: 空标签用于指定是否分布式处理
范例:
<distributable/>
context-param
含义: 声明应用范围的初始化参数
范例:
<context-param> <param-name>参数名称</param-name> <param-value>参数值</param-value> <description>描述<description> </context-param>
filter
含义:过滤器,包含过滤器名称和javax.servlet.Fileter实现类,在请求和相应被Servlet处理之前和之后,可以使用过滤器对其进行处理
范例:
<filter>
<filter-name>过滤器名称</filter-name>
<filter-class>实现类</filter-class>
</filter>
filter-mapping
含义: 声明指定过滤器的映射,可以映射到一个Servlet或者URL模式
范例:
<filter-mapping> <filter-name>过滤器名称,必须是一个存在的过滤器</filter-name> <url-pattern>过滤器指定的URL,支持通配符</url-pattern> <servlet-name>过滤器指定的Servlet</servlet-name> </filter-mapping>
- listener
含义:Servlet2.3中提供对程序的监听功能,主要包括对Session和ServletContext的创建、修改和删除事件的监听。
范例:
<listener>
<listener-class>实现相应的接口的监听类</listener-class>
</listener>
servlet
含义:声明Servlet
范例:
<servlet>
<servlet-name>Servlet名称</servlet-name>
<servlet-class>指定servlet的完全限定名</servlet-class>
<load-on-startup>表示WEB容器载入该Servlet的顺序;数值小的优先加载;0或者负值由容器决定加载顺序;相同取值由容器决定加载顺序。</load-on-startup>
</servlet>
servlet-mapping
含义:声明Servlet的映射,服务器一般为servlet提供一个缺省的URL:http://host/webAppPrefix/servlet/ServletName。通过使用url-pattern可以指定更改缺省URL为多个URL。
范例:
<servlet-mapping> <servlet-name>Servlet名称</servlet-name> <url-pattern>指定URL地址,支持通配符</url-pattern> </servlet-mapping>
- session-config
含义:Seesion失效时间
范例:
设置会话超时
- mime-mapping
含义:声明指定扩展名文件与mine类型的映射关系
范例:
<mime-mapping>
<extension>扩展名</extension>
<mime-type>mime类型</mime-type>
</mime-mapping>
- welcome-file-list
含义:声明首页文件名称,按照定义顺序查找。
范例:
<welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
- error-page
含义:声明指定HTTP状态码或者异常类型所对应的页面
范例:
<error-page>
<error-code>状态码</error-code>
<exception-type>异常类型</exception-type>
<location>WEB应用中的资源相对于应用目录的路径</location>
</error-page>
- jsp-config
- resource-env-ref
含义: 声明与资源相关的一个管理对象,如JNDI等。
- resource-ref
-
含义: 声明资源工厂所需的外部资源
- security-constraint
-
含义:允许不通过编程就可以限制对某个资源的访问
- login-config
-
含义: 用login-config元素来指定服务器应该怎样给试图访问受保护页面的用户授权
security-role
-
含义:给出安全角色的一个列表,这些角色将出现在servlet元素内的security-role-ref元素的role-name子元素中。分别地声明角色可使高级IDE处理安全信息更为容易。
env-entry
含义:声明Web应用的环境项
ejb-ref
含义:指定EJB的home接口的引用
ejb-local-ref
含义:声明对EJB的本地home的引用