⑤Application对象。Application对象为多个应用程序保存信息,对于一个容器而言,每个用户都共同使用一个Application对象,这和Session对象是不一样的。服务器启动后,就会自动创建Application对象,这个对象一直会保持,直到服务器关闭为止。Application对象为不同的用户共享某些信息提供了方便。常用的方法有:getAttribute(String attrName)、getAttributeNames()、getInitParameter(String name)、getServletInfo()、setAttribute(String attrName)
⑥Out对象。Out对象被封装成javax.servlet.jsp.JSPWriter接口。它表示为客户打开的输出流,PrintWriter使用它向客户端发送输出流。简单地说,它主要用来向客户端输出数据。常用的方法有:out.printIn(Boolean/char/char【】/double/float/long/Object/String)、out.print(Boolean/char/char【】/double/float/long/Object/String)、out.newLine()、out.flush()、out.close()等。
⑦Config对象。Config对象被封装成javax.servlet.ServletConfig接口。它表示Servlet的配置。当一个Servlet初始化时,容器把某些信息通过此对象传递给Servlet。常用的方法有:getServletContext()、getServletName()、getInitParameter()等。 ⑧Page对象。Page对象是由java.lang.Object类的实例。它指的是JSP实现类的实例,也就是说,它是JSP本身,通过this可以对它进行访问。
⑨Exception对象。Exception对象是由java.lang.Throwable类的一个实例。它指的是运行时的异常。也就是说被调用的错误页面的结果,只有它的错误页面才可以被使用。在JSP里捕获的异常大多数是使用JSP标准机制,然后把它作为一个属性放在request(request.setAttribute(String Name))对象里,最终把这个请求转发给处理错误的JSP页面里,处理错误的页面使用request.getAttribute(String errorName)把错误信息得到。
第十章
UML的应用:①UML的主要目标是以面向对象的方式来描述任何类型的系统。②最常用于建立软件系统的模型。③UML是一个通用的、标准的建模语言,对任何静态结构、动态行为的系统都可以用来建模。
UML的主要内容:有UML的语义和UML的表示方法两个方面。
UML语义:UML语义通过元素模型来严格定义。元模型为UML的所有元素在语法和语义上提供了简单、一致及通用定义性说明。UML的元素是基本构造单位,其中模型元素用于构造系统,视图元素用于构成系统的表示部分。
UML表示方法:UML表示方法定义了UML的图形表示符号,为建模者和建模工具的开发提供了标准的图形符号和正文语法。这些图形符号和文字表达的是应用级的模型,在语义上它是UML元模型的实例。使用这些图像符号和正文语法为系统建模构造了标准的系统模型。UML表示法分为通用表示和图形表示。
(1)通用表示。①字符串:用于表示有关模型的信息。②名字:用于表示模型的元素。③标号:用于表示附于图像符号的字符号。④特定字符串:用于表示附于模型元素的特征。⑤类型表达式:用于声明属性变量和参数。⑥定制:是一种机制,用已有的模型元素来定义新的模型元素。
(2)图形表示。UML的模型是用图来表示的,共有5类10种图。①用例图:用于表示系统的功能,并指出个功能的操纵者。②静态图:包括类图、对象图及包图,表示系统的静态结构。③行为图:包括状态图和活地图,用于描述系统的动态行为和对象之间的交互关系。④交互图:包括序列图和合作图:用于描述系统的对象之间和动态合作状态。⑤实现图:包括组建图和部署图,用于描述系统的物理实现。
UML的特点:①统一了面向对象方法的基本概念。②建模功能更强。③独立于开发语言。
④UML提出了许多新概念。
约束:(1)约束的含义:在UML中提供了一种简便、同意及一致的约束条件的表达方式,用于类、关系、关联、属性、操作等元素及其基本构成要素的约束条件,这些约束条件描述了这些元素及其构成要素应遵守的限制和应满足的条件。
(2)约束的表示。UML没有为约束定义严格的语法,但给出了约束的表示方法,{约束内容}。
(3)约束的示例。{abstract}:用于类的约束,表明该类是一个抽象类;{complete}:用于关系的约束,表明该分类是一个完全的分类;{hierarchy}:用于关系的约束,表明该关系是一个分层关系;{ordered}:用于多重性的约束,表明目标对象是有序的;{bag}:用于多重性的约束,表明目标对象多次出现且无序。
依赖关系:(1)依赖关系的含义:有两个元素X,Y,若修改元素X的定义,可能引起对另一个元素Y的定义的修改,则称元素Y依赖于元素X。
(2)依赖关系的表示。用一个带箭头的虚线表示依赖关系。若Y元素依赖于X元素,则画一个由Y元素指向X元素的虚线箭头。
(3)依赖关系的使用。在UML中,在类图、包图、构件图和配置图中都会用到依赖关系。它用于描述类之间的依赖、包之间的依赖、构建之间的依赖以及结点之间的依赖。在类的关系中,导致依赖性的原因有很多,如一个类向另一个类发送消息;一个类是另一个类的数据成员;一个类用另一个类作为它的某个操作的参数等。
细化:(1)细化的含义:有两个元素A,B,若B元素是A元素的详细描述,则成B,A之间的关系为B元素细化A元素。细化关系表明了元素之间更详细的一层描述。
(2)细化的表示:两个元素的细化关系用两个元素之间带空心三角形箭头的虚线来表示,箭头的方向由细化了的元素指向被细化了的元素。
(3)细化的使用。在建立一个应用问题的类的结构时,在系统分析中要建立概念层次的类图,用于描述应用域的概念。这种描述是初步的、不详细的描述;进入系统设计时,要建立说明层次的类图,该类图描述了系统软件接口部分。它比概念层次的类图更详细;进入系统实现时,要建立实现层次的类图,描述类的实现。实现层次的类图比说明层次的类图更要详细。
注释:(1)注释的含义:注释用于对UML的元素或实体进行说明、解释和描述,通常用自然语言进行注释。
(2)注释的表示:注释由注释体和注释连接组成。注释体的图形是一个矩形,其右上角翻下,矩形中标注要注释的内容。注释连接用虚线表示,它把注释体与被注释的元素或实体连接起来。
(3)注释的作用。在UML的各种模型图中,凡是需要注释的元素或实体均可以加注释。 最常用的UML图:用例图、类图、序列图、状态图、活地图、组建图和部署图。 用例图:用例图描述了系统提供的一个功能单元。用例图的主要目的是帮助开发团队以一种可视化的方式理解系统的功能需求。用例图通常用于表达系统或者系统范畴的高级功能。 类图:类图表示不同的实体如何彼此相关,它显示了系统的静态结构。
序列图:序列图显示具体用例的详细流程。它几乎是自描述的,并且显示了流程中不同对象之间的调用关系,同时还可以很详细的显示对不同对象的不同调用。序列图有两个维度:垂直维度是发生的事件顺序显示消息/调用的序列;水平维度显示消息被发送到的对象实例。 状态图:状态图表示某个类所处的不同状态和该类的状态转换信息。
活动图:活动图表示在处理某个活动时,两种或者更多类对象之间的过程控制流。活动图可用于在业务单元的级别上对更高级别的业务过程进行建模,或者对低级别的内部类操作进行建模。
组建图:组建图提供系统的物理视图。它的用途是显示系统中的软件对其他软件组件的依赖关系。组建图可以在一个非常高的层次上显示,从而只显示粗粒度的组件,也可以在组件包层次之上显示。
部署图:部署图表示该软件系统如何部署到硬件环境中。它的用途是显示该系统不同的组件将在何处物理地运行,以及它们之间将如何彼此的通信。
第十一章
.NET技术的影响。(1)对最终用户来说,.NET技术的实现将使计算机的功能得到大幅度的提升,而计算机的操作却变得更加简单。他们将完全摆脱人为的硬件束缚,利用任何设备、通过任何系统、在任何时间、任何地点访问互联网的多维时空,并对其进行跨应用程序的继承。用户对个人信息的任何修改——无论是通过个人电脑、便携式设备还是灵通卡——将即时和自动地通知到所有需要这些信息的地方。
(2)对于应用程序的开发人员来说,.NET的意义也许更大。通过.NET技术,程序开发人员不必像过去那样通过集成本地系统服务来构建应用程序,话费大量的精力来考虑如何构建基本的结构,而无法专注于如何实现如见所持有的商业价值。现在,程序开发人员可以访问Microsoft.NET所提供的内容丰富的类库,直接使用各种各样来自于Internet的模块来构建自己的应用程序,而无须为不同的工作环境重新编写程序,快速、高效地开发应用程序。 (3)对于网络开发人员来说,借助.NET技术所提供的、基于XML的松散耦合技术,他们终于可以真正的将应用程序逻辑分发到网络上,而不必顾忌服务端与客户端是否属于同一种结构、执行机制是否相同、接口是否对应。Microsoft.NET将把ASP和程序集成带到一个新的水平上,将集成程序和其他的继承或非集成程序整合;把这些程序风格化;形成针对这些应用程序编写新程序的能力;并可以在离线状态下运行它们。