【无标题】

Javaweb概述

标题xml基础

  1. XML 与 HTML的比较
    XML 和 HTML都是标记文本,它们在结构上大致相同,都是以标记的形式来描述信息。但实际上它们有着本质的区别,为了让读者不产生混淆,接下来对 HTML 和 XML 进行比较,具体
    如下。
    (1)HTML 被设计出是用来显示数据的,XML 被设计出是为了传输和存储数据的。
    ( 2)HTML 是不区分大小写的,而 XML 是严格区分大小写的。
    (3)HTML 可以有多个根元素,而格式良好的 XML 有且只能有一个根元素。
    ( 4)HTML 中,空格是自动过滤的,而 XML 中空格则不会自动删除。
    (5)HTML中的标记是预定义的,而 XML 中的标记可以根据需要自己定义,并且可扩展。
    总之,XML 不是 HTML 的升级,也不是 HTML 的替代产品,虽然两者有些相似,但它们的应用领域和范围完全不同。在大多数 Web 应用程序中,XML 用于传输数据,而 HTML 用于格式化并显示数据。HTML 规范的最新版本是 HTML5,但其常见版本是 HTML 4.01。此外,HTML
    还有一个常见版本——XHTML(EXtensible HyperText Markup Language,即可扩展超文本标签语言),它是 XML 应用被重新定义的 HTML,是更严格更纯净的 HTML 版本。
    2.1.2 XML 语法
    1.文档声明
    在一个完整的 XML 文档中,必须包含一个 XML 文档的声明,并且该声明必须位于文档的第1 行。这个声明表示该文档是一个 XML 文档,以及遵循哪个 XML 版本的规范。XML 文档声明的
    语法格式如下所示。
<?xml 版本信息[编码信息][文档独立性信息]?>从上面的语法格式中可以看出,文档声明以符号“<?”开头,以符号“?>”结束,中间可以声明版本信息、编码信息以及文档独立性信息。需要注意的是,在“<”和“?”之间、“?”和“>”之间以及第一个“?”和 xml 之间不能有空格;另外,中括号([])括起来的部分是可选的。接下来,针对语法格式中的版本信息、编码信息、文档独立性信息编写一段示例代码,具体如下所示。 <?xml version="1.0" encoding="UTF-8" standalone="yes"?>

在上述示例代码中,version 属性表示XML的版本。目前,最常用的 XML版本是 1.0.encoding属性用来说明 XML 文档所使用的编码方式,默认情况下,XML 文档使用的是 UTF-8 编码方式。istandalone 属性用来声明这个文档是否是独立的文档,默认情况下,standalone 属性的值为noi
表示文档依赖于外部文档。
2.元素定义
在 XML 文档中,主体内容都是由元素(Element)组成的。元素一般是由开始标记、属性,元素内容和结束标记构成,

上面的示例中,“<城市>”和“<城市>”就是XML文档中的标记,标记的名称也就是元素的名称。在一个元素中可以嵌套若干子元素。如果一个元素没有嵌套在其他元素内,则这个元素
称为根元素。根元素是 XML 文档定义的第一个元素。如果一个元素中没有嵌套子元素,也没有包含文本内容,则这样的元素称为空元素,空元素可以不使用结束标记,但必须在起始标记的“2”前增加一个正斜杠“/”来说明该元素是个空元素,例如:可以简写成。
在XML文档中,可以为元素定义属性。属性是对元素的进一步描述和说明。在一个元素中,
3.属性定义
可以有多个属性,并且每个属性都有自己的名称和取值,具体示例如下:
<售价单位=W元">68</售价>
在上面的示例中,<售价>元素中定义了一个属性“单位”。需要注意的是,在XML文档中,属性的命名规范同元素相同,属性值必须要用双引号(")或者单引号(")引起来,否则被视为错误。如果想在 XML 文档中插入一些附加信息,比如作者姓名、地址或电话等信息,或者想暂时
4.注释
屏蔽莱些 XML 语句,这时,可以通过注释的方式来实现,被注释的内容会被程序忽略而不被解析和处理。XML 注释和 HTML 注释写法基本一致,具体语法格式如下所示。
<1—-注释信息–>
2.1.3 DTD 约束
1.什么是约束
在现实生活中,如果一篇文章的语法正确,但内容包含违法言论或逻辑错误,这样的文章是不允许发表的。同样,在书写 XML 文档时,其内容必须满足某些条件的限制,先来看一个例子,
具体如下:

<?xml version="1.0" encoding="UTF-8"?>

<书架>
<书>
<书名>Java 就业培训教程</书名>
<作者姓名=“张孝祥”/>
<售价单位=“元”>38</售价>
<售价单位=“元”>28</售价>
</书>
</书架>
在上面的示例中,尽管这个 XML 文档结构是正确的,用 IE 浏览器打开它也不会出现任何问题,但是,由于 XML 文档中的标记是可以随意定义的,同一本书出现了两种售价,如果仅根据标记名称区分哪个是原价,哪个是会员价,这是很难实现的。为此,在 XML 文档中,定义了一套规则来对文档中的内容进行约束,这套约束称为 XML 约束。对 XML文档进行约束时,同样需要遵守一定的语法规则,这种语法规则就形成了 XML 约束进行详细的讲解。语言。目前,最常用的两种约束语言是 DTD 约束和 Schema 约束,接下来,将针对这两种的束
2. DTD 约束
DTD约束是早期出现的一种 XML约束模式语言,根据它的语法创建的文件称为 DTD 文件。

  1. DTD 语法
    在编写 XML 文档时,需要掌握 XML 语法。同理,在编写 DTD 文档时,也需要遵循一定的语法。DTD 的结构一般由元素类型定义、属性定义、实体定义、记号(Notation)定义等构成一个典型的文档类型定义会把将来要创建的 XML 文档的元素结构、属性类型、实体引用等预先进行定义。接下来,针对 DTD 结构中所涉及的语法进行详细讲解。
    (1)元素定义
    元素是 XML 文档的基本组成部分,在 DTD 定义中,每一条<IELEMENT…>语句用于定义-个元素,其基本的语法格式如下所示。<!ELEMENT 元素名称元素内容>在上面元素的定义格式中,包含了“元素名称”和“元素内容”。其中,“元素名称”是自定义的名称,它用于定义被约束 XML 文档中的元素;“元素内容”是对元素包含内容的声明,包括数据类型和符号两部分,它共有 5 种内容形式,具体如下。1 )#PCDATA:表示元素中嵌套的内容是普通文本字符串,其中,关键字 PCDATA 是 ParsedCharacter Data 的简写。例如,<!ELEMENT 书名(#PCDATA)>表示书名所嵌套的内容是字衔串类型。
    2)子元素:说明元素包含的元素。通常用一对圆括号()将元素中要嵌套的一组子元素括起来例如,<!ELEMENT 书(书名,作者,售价)>表示元素书中要嵌套书名、作者、售价等子元素。
    3)混合内容:表示元素既可以包含字符数据,也可以包含子元素。混合内容必须被定义看个或多个,例如,<IELEMENT 书(#PCDATAI书名)*>表示书中嵌套的子元素书名包含零个乳多个,并且书名是字符串文本格式。
    4)EMPTY:表示该元素既不包含字符数据,也不包含子元素,是一个空元素。如果在文科中元素本身已经表明了明确的含义,就可以在 DTD 中用关键字 EMPTY 表明空元素。例如,,其中,br是一个没有内容的空元素。5)ANY;表示该元素可以包含任何的字符数据和子元素。例如,<IELEMENT 联系人 ANYh表示联系人可以包含任何形式的内容。但在实际开发中,应该尽量避免使用 ANY,因为除了机元素外,其他使用 ANY 的元素都将失去 DTD 对 XML 文档的约束效果。
    需要注意的是,在定义元素时,元素内容中可以包含一些符号,不同的符号具有不同的作用

2.2
HTTP 协议
如同两个国家元首的会晤过程需要遵守一定的外交礼节一样,在浏览器与服务器的交互过程中,也要遵循一定的规则,这个规则就是 HTTP。 HTTP 专门用于定义浏览器与服务器之间交换数据的过程以及数据本身的格式。对于从事 Web 开发的人员来说,只有深入理解 HTTP,才能更好地开发、护、管理 Web 应用。接下来,本节将围绕 HTTP 展开详细的讲解。
2.2.1 HTTP 概述

  1. HTTP 介绍
    HTTP 是 HyperText Transfer Protocol 的缩写,即超
    文本传输协议。它是一种请求/响应式的协议,客户端在与
    HTTP请求服务器端建立连接后,就可以向服务器端发送请求,这种请求被称作 HTTP 请求,服务器端接收到请求后会做出响
    HTTP响应

客户端
图2-2 客户端与服务器的交互过程
服务器端
从图 2-2 中可以清楚地看到客户端与服务器端使用 HTTP 通信的过程,接下来总结一下
HTTP协议的特点,具体如下。
(1)支持客户端(浏览器就是一种 Web 客户端)/服务器模式。
(2)简单快速:客户端向服务器请求服务时,只需传送请求方式和路径。常用的请求方式有GET、POST 等,每种方式规定了客户端与服务器联系的类型不同。由于 HTTP 简单,使得 HTTP服务器的程序规模小,因而通信速度很快。

在这里插入图片描述

在这里插入图片描述

HTTP 1.1 不仅继承了 HTTP 1.0 的优点,而且有效解决了 HTTP 1.0 的性能问题,显著地减少浏览器与服务器交互所需要的时间。
3.HTTP 消息
当用户在浏览器中访问某个URL地址,单击网页的某个超链接或者提交网页上的form表单时,浏览器都会向服务器发送请求数据,即 HTTP 请求消息。服务器接收到请求数据后,会将处理后的数据回送给客户端,即 HTTP 响应消息。HTTP 请求消息和 HTTP 响应消息统称为 HTTP 消息。
在 HTTP 消息中,除了服务器端的响应实体内容(HTML网页、图片等)以外,其他信息对用户都是不可见的,要想观察这些“隐藏”的信息,需要借助一些网络查看工具。这里使用版本为 24.0的 Firefox 浏览器的 Firebug 插件,它是浏览器 Firefox 的一个扩展,是一个免费、开源网页开发工具,用户可以利用它编辑、删改任何网站的 CSS、HTML、DOM 与 JavaScript 代码。Firebug 插件可以从“htps//getirebug.com”网站下载,安装到 Fireiox浏览器中的 Firebug 效果如图 2-5 所示。DMoalo Firdos文件()”礦辑旧)查看(D历史俊)书签但)工具位)—帮助心)门新建标签页

2.3
Tomcat
本教材中大部分的内容都是在讲解如何开发动态 Web 资源,一个动态 Web 资源开发完毕后需要发布在 Web 服务器上才能被外界访问。因此,在学习 Web 开发之前需要安装一合 Web 服务器。本节将针对 Tomcat 服务器的安装和使用进行详细的讲解。
2.3.1 Tomcat简介
Tomcat 是 Apache 组织的 Jakarta 项目中的一个重要子项目,它是 Sun 公司(已被 Oracle收购)推荐的运行 Servlet 和 JSP 的容器(引擎),其源代码是完全公开的。Tomcat 不仅具有Web 服务器的基本功能,还提供了数据库连接池等许多通用组件功能。Tomcat 运行稳定、可靠、效率高,不仅可以和目前大部分主流的 Web 服务器(如 Apache,
IIS 服务器)一起工作,还可以作为独立的 Web 服务器件。因此,越来越多的软件公司和开发人员都使用它作为运行 Servlet 和 JSP 的平台。Tomcat 的版本在不断地升级,功能也不断地完善与增强。目前最新版本为 Tomcat 9.0,初学者可以下载相应的版本进行学习。
2.3.2 Tomcat 的安装和启动
本教材要介绍的 Tomcat 的版本是 Tomcat 7.0,读者可以进入 Tomcat 官网网站http:/tomcat.apache.org/进行下载。为了帮助初学者学习 Tomcat 的启动和加载过程,因此,建议初学者下载 zip 压缩包,通过解压的方式来安装 Tomcat。需要注意的是,安装 Tomcat 之前需要安装 JDK,运行 Tomcat 7.0 建议使用 JDK 7.0 版本。由于篇幅所限,关于 JDK 的安装以及Tomcat 7.0 的下载此处不再详细介绍,请自行查阅相关资料或书籍。将下载好的 Tomcat 压缩文件直接解压到指定的目录便可完成 Tomcat 的安装。这里将Tomcat 的解压文件直接解压到了 D 盘的 Tomcat 文件夹下,解压后会产生一个 apache-tomcat-7.0.55 文件夹,打开这个文件夹可以看到 Tomcat 的目录结构,
同功能的文件,接下来针对这些子目录进行简单介绍,具体如下。
(1)bin:用于存放 Tomcat 的可执行文件和脚本文件(扩展名为 bat 的文件)。如 tomcat7 exe.startup,bat。
(2)conf:用于存放 Tomcat 的各种配置文件,web.xml、server.xml。
(3)lib:用于存放 Tomcat 服务器和所有 Web 应用程序需要访问的 JAR 文件。
(4)logs:用于存放 Tomcat 的日志文件。
(5)temp:用于存放 Tomcat 运行时产生的临时文件。
(6)webapps:Web 应用程序的主要发布目录,通常将要发布的应用程序放到这个目录下。
(7)work: Tomcat的工作目录,JSP 编译生成的 Servet源文件和字节码文件放到这个目录下。
在 Tomcat 安装目录的 bin 子目录下,存放了许多脚本文件,其中,startup.bat 就是启动

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值