Bootstrap

java web day2

二、Java Web概述

2.1 XML基础

在实际开发中,由于不同语言项目之间数据传递的格式有可能不兼容,导致这些项目在数据传输时变得很困难。为解决此问题,W3C组织推出了一种新的数据交换标准——XML, 它是一种通用的数据交换格式,可以使数据在各种应用程序之间轻松地实现数据的交换。

2.1.1 XML概述

1.什么是XML
XML是Extensible Markup Language的缩写,它是一种类似于HTML的标记语言,称为可拓展标记语言。所谓可拓展,指的是用户可以按照XML规则自定义标记。
2.XML与HTML的比较
XML和HTML都是标记文本,它们在结构上大致相同,都是以标记的形式来描述信息。但实际上它们有着本质的区别:
(1)HTML被设计出是用来显示数据的,XML 被设计出是为了传输和存储数据的。
(2) HTML是不区分大小写的,而XML是严格区分大小写的。
(3) HTML可以有多个根元素,而格式良好的XML有且只能有一一个根元素。
(4)HTML中,空格是自动过滤的,而XML中空格则不会自动删除。
(5) HTML中的标记是预定义的,而XML中的标记可以根据需要自己定义,并且可扩展。

2.1.2 XML语法

1.文档声明
在一个完整的XML文档中,必须包含一个XML文档的声明,并且该声明必须位于文档的第一行。
XML文档声明的语法:

<?xml 版本信息 [编码信息] [文档独立性信息]?>
例:<?xml version="1.0" encoding="UTF-8" standalone="yes"?>

2.元素定义
在XML文档中,主体内容都是由元素(Element)组成的,元素一般是由开始标记、属性、元素内容和结束标记构成的。
3.属性定义
在XML文档中,可以为元素定义属性。一个元素中可以有多个属性,并且每个属性都有自己的名称和取值。
4.注释
格式:

<!--注释信息-->

2.1.3 DTD约束

1. 什么是约束
在现实生活中,一篇文章的语法正确,但内容包含违法言论或逻辑错误,这样的文章是不允许发表的。
在书写XML文档时,其内容必须满足某些条件的限制。
例:

<?xml version="1.0" encoding="UTF-8"?>
<书架>
	<>
		<书名>Java就业培训教程</书名>
		<作者 姓名="张三">
		<售价 单位="元">38</售价>
		<售价 单位="元">28</售价>
	</>
</书架>

在上面的示例中,文档结构是正确的,但是出现了两个售价,并且无法根据标记名称区分哪个是原价,哪个是会员价。为此,在XML文档中,定义了一套规则来对文档中的内容进行约束,这套约束称为XML约束。
2. DTD约束
DTD约束是早期出现的一种XML约束模式语言,根据它的语法创建的文件称为DTD文件在一个DTD文件中,可以包含元素的定义、元素之间关系的定义、元素属性的定义以及实体和符号的定义。
3. DTD的引入
格式:

<!DOCTYPE 根元素名称 SYSTEM "外部DTD文件的URI">
<!DOCTYPE 根元素名称 PUBLIC "DTD名称" "外部DTD文件的URI">

4. DTD语法
(1)元素定义
格式:

<!ELEMENT 元素名称 元素内容>
1)#PCDATA:表示元素中嵌套的内容是普通文本字符串。
2)子元素:说明元素包含的元素。
例:
<!ELEMENT 书(书名,作者,售价)>
3)混合内容:表示元素既可以包含字符数据,也可以包含子元素。
例:
<!ELEMENT 书(#PCDATAI书名)*>
4)EMPTY:表示该元素既不包含字符数据,也不包含子元素,是一个空元素。
例:
<!ELEMENT br EMPTY>
5)ANY:表示该元素可以包含任何的字符数据和子元素。
例:
<!ELEMENT 联系人 ANY>

在定义元素时,元素内容中可以包含一些符号,不同的符合有不同的作用:

1)问号(?):表示该对象可以出现0次或1次。
2)星号(*):表示该对象可以出现0次或多次。
3)加号(+):表示该对象可以出现1次或多次。
4)竖线(|):表示在列出的对象中选择一个。
5)逗号(,):表示对象必须按照指定的顺序出现。
6)括号[()]:用于给元素进行分组。

(2)属性定义
例:

<!ATTLIST 元素名称 属性名称 属性类型 默认值>

属性类型:

  1. CDATA
    这是最常用的一种属性类型,表明属性类型是字符数据,与元素内容是,说明中的#PCDATA相同。
  2. Enumerated(枚举类型)
    在声明属性时,可以限制属性的取值只能从一个列表中选择,这类属性属于Enumerated(枚举类型)。
  3. ID
    一个ID类型的属性勇于唯一标识XML文档中的一个元素。
  4. IDREF
    IDREF属性用来与其他元素建立关联关系,IDREF属性的值必须是另一元素的ID属性值

2.2 HTTP协议

2.2.1 HTTP概述

1.HTTP介绍
HTTP是HyperText Transfer Protocol的缩写,即超文本传输协议。它是一种请求/响应式的协议,客户端在与服务器端建立连接后,就可以向服务器端发送请求,这种请求被称作HTTP请求,服务器端接收到请求后会做出响应,称为HTTP响应。
2.Http 1.0 和Http 1.1
区别:http1.0 通信基制,每次从浏览器向服务器发送请求,都需要建立一个新的TCP连接。
http1.1 建立一个Tcp连接,可以发送多个请求,服务器在作出多个响应后,最后关闭这个Tcp连接。
3.Http消息
请求信息
请求头信息:

GET / HTTP/1.1
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.45 Safari/537.36 Edg/96.0.1054.29
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9
  1. HTTP请求消息
    请求行:
POST /aa/registersuccess.html HTTP/1.1

请求头:

Accept	text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Encoding	gzip, deflate
Accept-Language	zh-cn,zh;q=0.8,en-us;q=0.5,en;q=0.3
Connection	keep-alive
Host	localhost:8080
Referer	http://localhost:8080/aa/regDemo.html
User-Agent	Mozilla/5.0 (Windows NT 6.2; WOW64; rv:20.0) Gecko/20100101 Firefox/20.

请求正文:

username=aaa_bbb&password=123456&phone=13800000000
  1. HTTP响应信息:
    响应行信息:
HTTP/1.1 200 OK
协议和版本号
状态码: 200,302,304,404,405,500等
ok:对状态码的描述。

响应头信息:

Accept-Ranges	bytes
Content-Length	331
Content-Type	text/html
Date	Mon, 20 Feb 2017 09:53:34 GMT
Etag	W/"331-1449652621901"
Last-Modified	Wed, 09 Dec 2015 09:17:01 GMT
Server	Apache-Coyote/1.1

响应正文信息:

<body>
	<center>
		<font color="green" size="7">注册成功</font>
	</center>
</body>

2.3 Tomcat

2.3.1 TOMCAT简介

web程序开发中常用的服务器:
Tomcat:它是属于apache开源组织,免费。
weblogic:它是属于bea公司的,大型的服务器,收费。
websphere:它是IBM公司,大型的服务器,收费。

  1. Tomcat的安装与卸载
    tomcat安装分两种情况:
    1)在apache官网下载: http://tomcat.apache.org 下载对应的版本,它目前的最高版本9.0
    但是在开发中不用,因为高版本不稳定。
    2)使用绿色版本(免安装):直接解压tomcat的压缩包,就能使用。
    2.启动和关闭tomcat服务器
    启动:找到bin目录中的startup.bat
    在这里插入图片描述
    之后进入浏览器输入:
    localhost:9999
    在这里插入图片描述
    卸载:
    找到bin目录下的shutdown.bat,点击即可关闭

2020080605012

;