Http协议
Web应用程序就是使用HTTP协议在运行浏览器的计算机和运行的服务器的程序间传输数据。不适合于需要跟踪用户状态的动态应用
HTTP 是一个无状态协议。HTTP server 可以接受来自于各种客户的各种请求,并提供各种响应,即使是这个响应仅仅是说No。没有大量的协商和连接持久性,无状态协议可以处理大量的请求。这也是Internet可以扩展到很多计算机的原因。
Cookies 和 URL 重写是两个在请求间跟踪用户状态的方式。cookie 是一种特殊的信息包,存储于用户的计算机中。URL 重写是在页面地址中存储一个特殊的标记,Java 服务器可以用它来跟踪用户。
CGI(通用网关接口)
公共网关接口(CGI)
第一个普遍使用来产生动态内容的标准是公共网关接口Common Gateway Interface (CGI)。CGI使用标准的操作系统特征,比如环境变量和标准输入输出,在Web服务期间以及和主机系统间创建桥和网关。其他程序可以看到web server传递过来的请求,并创建一个定制的响应。
JAVA SERVLET
一旦servlet 被创建,使用它处理额外的请求仅带来很小的额外开销。Servlet 开发人员可以使用init() 方法保持对昂贵资源的引用,比如到数据库或者EJB Home 接口的连接,以便它们可以在不同的请求间进行共享, Servlet的另一个好处是,它是多线程的, servlet 开发人员必须特别注意确保它们的servlet是线程安全的。
JAVA SERVER PAGE
,Sun提出了一个结合脚本和模板技术到一个组件中的服务器页面技术。为创建JSP页面, 开发者按同样创建HTML页面的方式创建页面,使用相同的HTML语法。为将动态内容引入页面,开发人员可以将脚本元素置入页面之中。脚本元素是一些标记,封装了可以被JSP识别的逻辑。你可以在JSP页面中很容易的识别出脚本元素,他们被封装在一对<% 和 %>标记中
读取和操纵 XML 文件的标准方法是 DOM(“文档对象模型”)。遗憾的是,这种方法需要读取整个文件并将它存储到树结构中,因而效率不高、缓慢,并且会过度使用资源。
一种替代方法是使用 Simple API for XML 或 SAX。SAX 允许正在读取文档时处理该文档,这避免了在采取操作之前需要等待存储文档的所有内容。
SAX 是由 XML-DEV 邮件列表的成员开发的,Java 版本由 David Megginson 维护。他们的目的是提供一种更自然的方法来使用 XML,这种方法不会涉及到使用 DOM 的那种开销。
结果是基于事件的 API。解析器将事件(譬如,元素的开始或结束)发送给处理信息的事件处理程序。然后,应用程序自己可以处理数据。虽然原始文档保持不变,但 SAX 提供了操纵数据的方法,然后会将该方法导向另一个过程或文档。
对于 SAX,没有官方的标准;万维网(W3C)或其它官方组织不维护 SAX,但在 XML 社区中,它是一个事实上的标准
选择 DOM 还是 SAX,这取决于几个因素:
- 应用程序的目的:如果必须对数据进行更改,并且作为 XML 将它输出,则在大多数情况下,使用 DOM。与使用 XSL 转换来完成的简单结构更改不一样,如果是对数据本身进行更改,则尤其应该使用 DOM。
- 数据的数量:对于大文件,SAX 是更好的选择。
- 将如何使用数据:如果实际上只使用一小部分数据,则使用 SAX 将数据抽取到应用程序中,这种方法更好些。另一方面,如果知道将需要向后引用已经处理过的信息,则 SAX 可能不是正确的选择。
- 需要速度:通常,SAX 实现比 DOM 实现快。
记住 SAX 和 DOM 不是互斥的,这一点很重要。可以使用 DOM 来创建事件的 SAX 流,可以使用 SAX 来创建 DOM 树。事实上,大多数解析器实际常常使用 SAX 来创建 DOM 树!
XSD
XML结构定义 ( XML Schemas Definition )
XML Schema 是DTD的替代品。XML Schema语言也就是XSD。
XML Schema描述了XML文档的结构。可以用一个指定的XML Schema来验证某个XML文档,以检查该XML文档是否符合其要求。文档设计者可以通过XML Schema指定一个XML文档所允许的结构和内容,并可据此检查一个XML文档是否是有效的。XML Schema本身是一个XML文档,它符合XML语法结构。可以用通用的XML解析器解析它。
一个XML Schema会定义:文档中出现的元素、文档中出现的属性、子元素、子元素的数量、子元素的顺序、元素是否为空、元素和属性的数据类型、元素或属性的默认和固定值。
XSD是DTD替代者的原因,一是据将来的条件可扩展,二是比DTD丰富和有用,三是用XML书写,四是支持数据类型,五是支持命名空间。
XSD文件的后缀名为.xsd。
XML Schema的优点:
1) XML Schema基于XML,没有专门的语法
2) XML可以象其他XML文件一样解析和处理
3) XML Schema支持一系列的数据类型(int、float、Boolean、date等)
4) XML Schema提供可扩充的数据模型。
5) XML Schema支持综合命名空间
6) XML Schema支持属性组。