【日常学习】XML文件约束,Tomcat服务器和HTTP协议

XML文件约束,Tomcat服务器和HTTP协议

1. XML文件约束【了解】
1.1 约束方式
DTD 	
	简单的XML文件约束方式
	约束存在一定的隐患
	数据没办法做到精确约束,可能存在一定的隐患

Schema
	复杂的XML文件约束方式
	非常严谨,很恶心,要求【能读懂 3年以内自己能写】
	Schema在框架中进行配置约束操作。
		Spring SpringMVC MyBatis
1.2 DTD约束
<!-- students 根标签 要求根标签内存放student -->
<!ELEMENT students (student*) >
<!-- student标签包含子标签的内容 -->
<!ELEMENT student (name,age,sex)>
<!-- 所有子标签当前数据都都是文本形式 -->
<!ELEMENT name (#PCDATA)>
<!ELEMENT age (#PCDATA)>
<!ELEMENT sex (#PCDATA)>
<!-- ATTLIST Attribute List 属性列表 student id ID -->
<!ATTLIST student id ID #REQUIRED>
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE students SYSTEM "G:\JavaEE2005\IDEAProject\Day36_GL\xml\student.dtd">
<students>
<student id="ID_1">
    <name>苟磊</name>
    <age>16</age>
    <sex></sex>
</student>

<student id="ID_2">
    <name>狗昊</name>
    <age>106</age>
    <sex>未知</sex>
</student>
</students>
1.3 Schema
<?xml version="1.0"?>
<xsd:schema xmlns="http://www.qfedu.com/xml"
            xmlns:xsd="http://www.w3.org/2001/XMLSchema"
            targetNamespace="http://www.qfedu.com/xml" elementFormDefault="qualified">
    <!-- 根节点名字和包含的内容,内容是自定义studentType -->
    <xsd:element name="students" type="studentsType"/>
    <!-- studentType类型声明   -->
    <xsd:complexType name="studentsType">
        <xsd:sequence>
            <!-- students根节点中存放的是student类型  type="studentType" 要求student的个数从0开始 个数不限制 -->
            <xsd:element name="student" type="studentType" minOccurs="0" maxOccurs="unbounded"/>
        </xsd:sequence>
    </xsd:complexType>
    <!-- studentType声明 -->
    <xsd:complexType name="studentType">
        <xsd:sequence>
</students>ame,age,sex子标签,并且要求对一个对应保存的数据类型是type指定 -->
            <!-- 要求student标签内有name,age,sex子标签,并且要求对一个对应保存的数据类型是type指定 -->
            <xsd:element name="name" type="xsd:string"/>
            <!-- ageType 和 sexType 是自定义数据约束 -->
            <xsd:element name="age" type="ageType" />
            <xsd:element name="sex" type="sexType" />
        </xsd:sequence>
        <!-- 给予Student标签属性 属性为id,要声明idType, use="required"不可缺少的 -->
        <xsd:attribute name="id" type="idType" use="required"/>
    </xsd:complexType>
    <!-- sexType性别类型声明 -->
    <xsd:simpleType name="sexType">
        <xsd:restriction base="xsd:string">
            <!-- 有且只有两个数据 male female -->
            <xsd:enumeration value="male"/>
            <xsd:enumeration value="female"/>
        </xsd:restriction>
    </xsd:simpleType>
    <xsd:simpleType name="ageType">
        <xsd:restriction base="xsd:integer">
            <!-- 0 ~ 256 要求范围,是一个integer类型 -->
            <xsd:minInclusive value="0"/>
            <xsd:maxInclusive value="256"/>
        </xsd:restriction>
    </xsd:simpleType>
    <xsd:simpleType name="idType">
        <xsd:restriction base="xsd:string">
            <!-- ID类型,要求Java_xxxx(四位数字) -->
            <xsd:pattern value="Java_\d{4}"/>
        </xsd:restriction>
    </xsd:simpleType>
</xsd:schema>
<?xml version="1.0" encoding="utf-8"?>

<!--
1. 填写根节点约束
2. 引入xsi前缀,xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
3. 引入xsd文件命名空间 xsi:schemaLocation="http://www.qfedu.com/xml  student.xsd"
4. 为xsd约束声明一个前缀,作为表示
-->
<students   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
            xmlns="http://www.qfedu.com/xml"
            xsi:schemaLocation="http://www.qfedu.com/xml  student.xsd"
>
    <student id="Java_0001">
        <name>苟磊</name>
        <age>16</age>
        <sex></sex>
    </student>
    <student id="Java_0002">
        <name>狗昊</name>
        <age>255</age>
        <sex></sex>
    </student>
</students>
2. Tomcat服务器
2.1 JavaWEB服务器概述
JavaWEB就是我们的核心!!!

服务器
	对外提供服务的一台电脑
		数据库服务器 一台计算机装有数据库软件,对外提供的数据库服务器。
		邮件服务器 对外提供电子邮箱的一台电脑,需要支持各种的邮件协议
		JavaWEB服务器,可以对外提供JavaWEB服务器,基于Java后台的WEB服务器

局域网内的服务器
	在局域网范围以内,一台对外提供服务器的计算机,一般在公司中用于数据库服务器,基本的WEB服务器,代码服务器,资源服务器
公网服务器
	需要通过网络运营商注册,备案,DNS解析

能够提供JavaWEB服务器的计算机需要按照可以支持JavaWEB服务器软件
	Tomcat 
		免费,可以满足基本的JavaWEB规则规范 符合JavaEE一部分内容,基本够用!!
	JBoss 
		收费,好用,贼好用,贵
	WebLogic
		收费,好用,贼好用,贵
	
	各大公司会根据自己的需求,给予目前流行的服务器软件,来自行完成服务器软件开发
	比如 JD Taobao Baidu
2.2 Tomcat获取
Tomcat获取
	1. 官网
	2. 从官网下载对应zip压缩包
	3. 解压缩路径不得出现任何的中文,也不得安装到C盘
	4. 准备多版本Tomcat服务器,了解其中的区别,特征和错误情况
	5. IDEA中不得修改console输出内容乱码问题
	6. 不允许汉化所有的错误
	
	404 500 
	N多行的错误........
2.3 Tomcat安装和目录概述
	在保证JDK环境运行没有任何的问题情况下,将Tomcat安装包的压缩文件解压到非中文路径下。

Tomcat目录
	bin
		binary 二进制目录,在bin目录下是关于Tomcat服务器软件的二进制可执行文件
		或者批处理文件
		关注
			startup.bat 启动Tomcat服务器批处理文件  
			shutdown.bat 关闭Tomcat服务器批处理文件
			
	conf
		Tomcat服务器配置文件,XML文件或者properties属性文件
		主要是控制当前Tomcat服务器的一些服务配置,虚拟主机配置和用户配置
	
	lib
		Tomcat服务器执行所需的依赖文件,Tomcat服务器是一个Java代码完成的服务器
		软件,在lib目录存在大量的jar
			servlet-api.jar Servlet ==> Server applet程序核心Jar包
		
	logs
		日志文件存储位置
		
	temp
		临时目录
		
	webapps
		后期JavaWEB存储的目录文件夹
		
	work
		临时目录,可以生成JSP文件对应.class字节码文件
		
	LICENSE
		协议
2.4 Tomcat服务器启动
在Tomcat按照目录lib文件夹中找到
	startup.bat
	启动Tomcat

验证:
	浏览器中输入
		localhost:8080

关闭Tomcat服务器
	shutdown.bat
	关闭Tomcat服务器


Tomcat服务器启动失败原因:
	1. JDK环境未准备就绪
	2. 已启动其他版本的Tomcat服务器,导致端口被占用
	3. Tomcat违规关闭,导致Tomcat程序出现异常
	4. Tomcat安装路径有中文
	5. 最好不要使用安装版Tomcat服务器软件
3. HTTP协议
3.1 HTTP协议概述
	超文本传输协议(英语:HyperText Transfer Protocol,缩写:HTTP)是一种用于分布式、协作式和超媒体信息系统的应用层协议。HTTP是万维网的数据通信的基础。
	HTTP协议中存在请求头和响应头
	
	带有一定的状态码情况
		1XX 200 3XX 4XX 5XX
	
	请求方式有八种,实际开发中所关注的方式主要是 GET POST

	目前JavaWEB程序从前端到后台,后台到前端数据的传递过程中,我们都是基于HTTP协议来完成的。
3.2 GET和POST回顾
GET特征:
	1. 数据通过URL参数形式进行数据传递,明文!!!
		资源?参数名1=值1&参数名2=值
		http://localhost:8080/studentServer?method=addStudent&name=狗昊&age106&sex=null
	2. URL数据传递安全性为0
	3. 数据传递数据量存在限制 2KB以内 
	4. 数据传递较快
	5. 一般用于搜索功能

POST请求:
	1. 数据通过请求实体传递,请求实体在请求头内
	2. 安全性可以通过插件形式进行约束操作
	3. 数据传递过程中数据量不限制,可以用于数据的上传功能
	4. 数据传递速度较慢
	5. 一般用于登陆,修改,演示,删除...
	
在GET和POST请求情况下
	后台代码中会有针对性的处理对应的请求方式,并且所有的请求数据都是键值对形式内存到达后台!!!
3.3 请求头
GET / HTTP/1.1
GET 目前请求方式为GET请求
/ 当前请求的资源,/表示请求根目录资源,一般情况下都是主页
	index.html index.htm index.jsp index.asp 不需要你考虑
HTTP/1.1 当前请求的HTTP协议版本号
Host: www.baidu.com
Host 表示当前请求的主机名,域名,IP地址
Connection: keep-alive
Connection 标记Keep-alive 保持连接
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

Accept 当前请求所支持的类型
	多用途互联网邮件扩展(英语:Multipurpose Internet Mail Extensions,缩写:MIME)
Accept-Encoding: gzip, deflate, br
支持的压缩包形式
Cookie【重点 会话控制】
	本地浏览器数据存储,为键值对字符串形式,且不支持中文。
3.4 响应头
HTTP/1.1 200 OK
HTTP/1.1 HTTP协议版本
200 响应状态码 200 表示一切正常 
OK 真 OK
Content-Type: text/html;charset=utf-8
非常重要
	后期是使用两个方法
		setContentType("text/html;charset=utf-8")
		setHeader("Content-Type", "text/html;charset=utf-8");
	设置当前页面的展示数据方式和对应数据解析编码集
Server: BWS/1.1
	当前服务器软件及其版本号
	Apache-Tomcat/8.5.41 ???
Set-Cookie: BDSVRTM=393; path=/
发送Cookie信息保存在本地浏览器
	BDSVRTM Cookie名字
	393 Cookie对应数据,所有数据都是文本字符串形式
path=/
	当前Cookie有效路径是整个www.baidu.com
3.5 响应状态码
1xx消息——请求已被服务器接收,继续处理
2xx成功——请求已成功被服务器接收、理解、并接受
3xx重定向——需要后续操作才能完成这一请求
4xx请求错误——请求含有词法错误或者无法被执行	
	404 Source Not Found
5xx服务器错误——服务器在处理某个正确请求时发生错误
	500 蹦沙卡拉卡 服务器炸了
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值