属性文件 web.xml
说明
Web 工程中,使用 web.xml 文件来配置:欢迎页面、servlet、filter 等 Web 元素。web.xml
的模式文件是由 JavaEE 对应的规范定义的,每个 web.xml 文件的根元素在
例如:
<?xml version=”1.0” encoding=”UTF-8”?> <web-app version=”2.5” Xmlns=http://jaava.sun.com/xml/ns/javaee Xmlns:xsl=http://www.w3.org/2001/XMLSchema-instance Xsi:schemaLocation=”http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd”> </web-app>
而且 web.xml 的模式文件中定义的标签并不是死的,模式文件也可以改变的,一般来说, 随着 web.xml 模式文件的版本升级,里面定义的功能会越来越复杂,也就是标签元素的种类 会越来越多,但有些是不常用的,我们只需记住一些常用的就可以了。
可配置的属性详解
1.icon
可以给应用指定一大一小两个图标:
元素 | 必须/可选 | 描述 |
---|---|---|
<small-icon> | 可选 | 小图标的位置,建议采用 16x16 像 素的 gif 或 jpg 文件。 |
<large-icon> | 可选 | 小图标的位置,建议采用 32x32 像 素的 gif 或 jpg 文件。 |
2.display-name
指定的 Web 应用程序的显示名称:
元素 | 必须/可选 | 描述 |
---|---|---|
<display-name> | 可选 | 顾名思义,显示名称 |
3.description
可以给应用指定一大一小两个图标:
元素 | 必须/可选 | 描述 |
---|---|---|
<description> | 可选 | 顾名思义,描述说明 |
4.context-param
声明一个 Web 应用程序的 servlet 上下文初始化参数。
下表描述了 WebLogic Server 保留的一些上下文参数(这些参数已经过时,并在 weblogic.xml 中有其他元素来替代):
元素 | 必须/可选 | 描述 |
---|---|---|
<weblogic.httpd.clientCertProxy> | 可选 | 此属性指定 WebLogic 代理插 件或者 HttpClusterServlet 会将 HTTPS 连接中客户端提 供 的 证 书 在 名 称 为 WL-Proxy-Client-Cert 的 HTTP 头中上传到服务器。 |
5.filter
定义了一个过滤器(Servlet Filter)和它的初始化属性。
下表列出了 filter 的子元素:
元素 | 必须/可选 | 描述 |
---|---|---|
<icon> | 可选 | 图标。 |
<filter-name> | 必须 | 指定过滤器的名称,部署描述符的 其他部分将使用过滤器的名字来 引用这个过滤器。 |
<display-name> | 可选 | 显示名称 |
<description> | 可选 | 过滤器的文字说明。 |
<filter-class> | 必须 | 过滤器的完整类名,包含包名。 |
<init-param> | 可选 | 包含一些键/值对作为过滤器的初 始化参数。 |
6.filter-mapping
指定过滤器生效的 URL:
元素 | 必须/可选 | 描述 |
---|---|---|
<filter-name> | 必须 | 过 滤 器 的 名 称 , 和 <filter> 元 素 里 的 <filter-name>对应。 |
<url-pattern> | 必须 | 指定过滤器所影响的 URL。 |
7.listener
定义一个应用程序监听器:
元素 | 必须/可选 | 描述 |
---|---|---|
<listener-class> | 可选 | Web 应用事件监听器的完整类名。 |
8.servlet
声明一个 HTTP Servlet。下表中列出了其子元素:
元素 | 必须/可选 | 描述 |
---|---|---|
<icon> | 可选 | 图标。 |
<servlet-name> | 必须 | 指定 servlet 的名称;部署描述符 的其他部分会采用这个名称来引用 这个 Servlet。 |
<display-name>> | 可选 | 显示名称。 |
<description> | 可选 | servlet的文字说明 |
<servlet-class> | 必须(或使 用 <jsp- file>) | Servlet 的完整类名。一个 servlet 内,只能使用一个<servlet-class> 标签或<jsp-file>标签。 |
<jsp-file> | 必须(或使 用 <servlet- class>) | Jsp 文件相对于 Web 应用程序根目 录的完整的路径。 |
<init-param>> | 可选 | 包含一些键/值对作为 Servlet 的 初始化参数 |
<load-on-startup> | 可选 | 指定当 WebLogic Server 启动时, 是否初始化该 Servlet。其内容必 须是正整数,指示该 Servlet 的加 载顺序,越小的值越先被加载。 |
<run-as> | 可选 | 指定该 Servlet 运行时的身份,包 含一个可选的描述和一个安全角色 的名称。 |
<security-role-ref> | 可选 | 用于建立应用程序中使用的硬编码 的安全角色名和部署描述符里 <security-role> 标 签 所 定 义 的 安 全角色的映射。 |
9.servlet-mapping
指定 Servlet 所处理的 URL。下表列出了其子元素:
元素 | 必须/可选 | 描述 |
---|---|---|
<servlet-name> | 必须 | Servlet 的名字,对应<servlet>元素中 声明的<servlet-name>。 |
<url-pattern> | 必须 | Servlet 处理的 URL 模式 |
10.session-config
指定 Web 应用和 HTTP Session 相关的配置,下表描述其子元素。
元素 | 必须/可选 | 描述 |
---|---|---|
<session-timeout> | 可选 | 指定 Web 应用程序中 HTTP 会话过期时间,单位是分钟。 此处设置的值将覆
盖 weblogic.xml 中 默认值:-2 最大值:Integer.MAX_VALUE/60 特殊值: (1) -2 = 使 用 weblogic.xml 中 (2) -1 = 会话不超时。 |
11.mime-mapping
定义文件扩展名和 mime type 之间的映射,下表描述其子元素。
元素 | 必须/可选 | 描述 |
---|---|---|
<extension> | 必须 | 文件扩展名,比如 txt |
<mime-type> | 必须 | MIME 类型,比如 text/plain |
12.welcome-file-list
指定欢迎页面的列表;当客户端请求的 URL 是一个目录名时,WebLogic 服务器根据这 个列表来返回一个缺省页面。
元素 | 必须/可选 | 描述 |
---|---|---|
<welcome-file> | 可选 | 默认欢迎页面的文件名,例如 index.html |
13.error-page
错误页配置;当错误发生时,服务器可以根据异常或者 HTTP 响应的状态码,将对应的 页面返回给客户端。
注:可以使用<error-code>或<exception-type> 之一,但二者不能同时使用。
元素 | 必须/可选 | 描述 |
---|---|---|
<error-code> | 可选 | 有效的 HTTP 错误代码,例如 404 |
<exception-type> | 可选 | 一 个 Java 异 常 类 的 完 整 类 名 , 例 如 java.lang.Exception |
<location> | 必须 | 错 误 页 面 资 源 的 位 置 , 例 如 /myErrorPg.html |
14.taglib
定义一个 JSP 标签库:
元素 | 必须/可选 | 描述 |
---|---|---|
<taglib-location> | 必须 | 标记库描述符文件相对于 Web 应用程 序根目录的文件路径。 建议放置 于 WEB-INF 目录。 |
<taglib-uri> | 必须 | 指定 JSP 标签库的前缀 uri。 |
15.resource-env-ref
定义一个对应用服务器环境资源对象的引用。例如:
<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>
其中元素及描述如下:
元素 | 必须/可选 | 描述 |
---|---|---|
<description> | 可选 | 描述。 |
<resource-env-ref-name> | 必须 | 指定该资源的引用名称,在应用程序 中可以使用 java:comp/env 作为根 路径,使用 JNDI 来使用该资源。 |
<resource-env-ref-type> | 必须 | 指定资源的类型,需要是类或接口的 全名。 |
16.resource-ref
定义了一个到外部资源的引用。这使得在 Web 应用代码里边可以使用一个“虚拟”的 JNDI 名字来引用一个外部资源,而其具体的资源,可以在 weblogic.xml 里指定:
元素 | 必须/可选 | 描述 |
---|---|---|
<description> | 可选 | 文字说明。 |
<res-ref-name> | 必须 | Web 应用程序中使用这个 JNDI 名称来 查找一个该资源。 |
<res-type> | 必须 | 该资源引用名称对应的 Java 类型,使 用 Java 类型的完整类名。 |
<res-auth> | 必须 | |
<res-sharing-scope> | 可选 | Specifies whether connections obtained through the given resource manager connection factory reference can be shared. 指定是否通过给定的资源管理器连接 工厂引用获得连接可以共享。 有效值:
|
17.security-constraint
指定对<web-resource-collection>元素中定义的 Web 资源集合的访问权限:
元素 | 必须/可选 | 描述 |
---|---|---|
<web-resource-collection> | 必须 | 指定该安全约束所应用的 HTTP 请求 范围。 |
<auth-constraint> | 可选 | 指定那些用户/组/角色对该 Web 资源 的集合有访问权限。 |
<user-data-constraint> | 可选 | 指定客户端应该如何与服务器通信。 |
18.web-resource-collection
定义的 Web 应用中安全约束的应用范围:
元素 | 必须/可选 | 描述 |
---|---|---|
<web-resource-name> | 必须 | Web 资源集合的名称。 |
<description> | 可选 | 文字描述。 |
<url-pattern> | 可选 | |
<http-method> | 可选 | GET/POST |
19.auth-constraint
定义哪些组或角色获得此安全约束集合中定义的 Web 资源:
元素 | 必须/可选 | 描述 |
---|---|---|
<description> | 可选 | 文字描述。 |
20.user-data-constraint
定义客户端应该如何与服务器通信:
元素 | 必须/可选 | 描述 |
---|---|---|
<description> | 可选 | 文字说明。 |
<transport- guarantee> | 必须 | 指定客户端和服务器之间的通信安全
强 度 。 当 指 定 INTEGRAL 或
CONFIDENTIAL 时,WebLogic 服务器
要求客户端必须使用 SSL/HTTPS 来访
问指定的资源集合。 值范围: (1) NONE (2) INTEGRAL (3) CONFIDENTIAL |
21.login-config
指定用户登录相关的选项,设置了该项后,当用户访问 通过<security-constraint> 设置的受限资源时,必须先通过用户认证;认证后,才可以访问被授权访问资源。
元素 | 必须/可选 | 描述 |
---|---|---|
<auth-method> | 可选 | 指定用于验证用户身份的方法,可选
的值: (1) BASIC — 默认值,采用浏览器 的 HTTP Basic 认证方式; (2) FORM — 用户提交 HTML 表单方式进 行认证; (3) CLIENT-CERT — 客户端 HTTPS 证书 认证 |
<realm-name> | 可选 | 验证使用的安全域 |
<form-login- confi> | 可选 | <auth-method>为 FORM 时使用。 |
22.form-login-config
FORM 表单登录配置:
元素 | 必须/可选 | 描述 |
---|---|---|
<form-login-page> | 必须 | 用于登陆验证的资源 URI,可以是一 个 HTML 页面,JSP 或 HTTP Servlet, 必须返回一个 HTML 页面,其中包含一 个符合特定的命名约定的身份验证表 单。 |
<form-error-page> | 必须 | 身份验证失败时返回客户端的页面 URI。 |
23.security-role
安全角色定义::
元素 | 必须/可选 | 描述 |
---|---|---|
<description> | 可选 | 描述。 |
<role-name> | 必须 | 角色的名称。 必须在 weblogic.xml 里有对应的条目 |
24.env-entry
环境参数设置:
元素 | 必须/可选 | 描述 |
---|---|---|
<description> | 可选 | 描述。 |
<env-entry-name> | 必须 | 环境参数的名称。 |
<env-entry-value> | 必须 | 环境参数的值。 |
<env-entry-type> | 必须 | 环境参数的类型,可设置为以下 Java
类型之一: java.lang.Boolean java.lang.String java.lang.Integer java.lang.Double java.lang.Float |
25.ejb-ref
EJB 映射的定义:
元素 | 必须/可选 | 描述 |
---|---|---|
<description> | 可选 | 描述。 |
<ejb-ref-name> | 必须 | Web 应 用 程 序 中 引 用 的 EJB 的 JNDI 名称。 |
<ejb-ref-type> | 必须 | 预期的 EJB 的类型。 |
<home> | 必须 | EJB 的 home 接口的全名。 |
<remote> | 必须 | EJB 的远程接口的全名。 |
<ejb-link> | 可选 | J2EE 应用程序包(ear)中包含一 个 EJB 的名称。 |
<run-as> | 可选 | 必须是 <security-role>元素所 定义的一个安全角色。 |
26.ejb-local-ref
定义一个对 EJB Local Home 接口的引用:
元素 | 必须/可选 | 描述 |
---|---|---|
<description> | 可选 | 描述。 |
<ejb-ref-name> | 必须 | Web 应用程序中引用的 EJB 的 JNDI 名 称。 |
<ejb-ref-type> | 必须 | 预期的 EJB 的类型。必须是下列之一: <ejb-ref-type>Entity</ejb-ref-type> <ejb-ref-type>Session</ejb-ref-type> |
<local-home> | 必须 | EJB 的本地 Home 接口的全名。 |
<local> | 必须 | EJB 的本地接口的全名。 |
<ejb-link> | 必须 | J2EE 应 用 程 序 包 (ear) 中 包 含 一 个 EJB 的名称。 |
本节我们重点研究对象和类的概念。
对象:对象是类的一个实例,有状态和行为。例如,一条狗是一个对象,它的状态有:颜色、名字、品种;行为有:摇尾巴、叫、吃等。
类:类是一个模板,它描述一类对象的行为和状态。
Java中的类
一个类可以包含以下类型变量:
局部变量:在方法、构造方法或者语句块中定义的变量被称为局部变量。变量声明和初始化都是在方法中,方法结束后,变量就会自动销毁。
成员变量:成员变量是定义在类中,方法体之外的变量。这种变量在创建对象的时候实例化。成员变量可以被类中方法、构造方法和特定类的语句块访问。
类变量:类变量也声明在类中,方法体之外,但必须声明为static类型。
一个类可以拥有多个方法,在上面的例子中:barking()、hungry()和sleeping()都是Dog类的方法。
访问实例变量和方法
通过已创建的对象来访问成员变量和成员方法,如下所示:
public class MyFirstJavaProgram { /* 第一个Java程序. * 它将打印字符串 Hello World */ public static void main(String []args) { System.out.println("Hello World"); // 打印 Hello World } }
Java关键字
下面列出了Java保留字。这些保留字不能用于常量、变量、和任何标识符的名称。
关键字 | 描述 |
---|---|
abstract | 抽象方法,抽象类的修饰符 |
assert | 断言条件是否满足 |
boolean | 布尔数据类型 |
break | 跳出循环或者label代码段 |