XML
概述:
可扩展标记语言(Extensible Markup Languange),类似HTML,XML的宗旨是传输数据,XML需用户自行定义标签,所以具有自我描述性,是W3C的推荐标准
xml的语法:
xml语法比较严格,标签必须闭合,区分大小写,属性也需要有引导,标签的嵌套也必须正确
xml的文档声明:
<?xml 属性名= "属性值"属性名= "属性值"....?>
vresion:必须 使用1.0
encoding:字符集. 浏览器打开时候采用的默认的编码
standalong:XML文档是否需要依赖其他的文件
xml的注释:
<!---->
xml的元素:
命名规则:可以含字母,数字及其他的字符,但不能以数字或者标点符号开始,也不能以"xml"开始,不能包含空格
xml的属性:
属性名称规范与元素一致,属性需要引号
xml特殊字符和CDATA区
特殊字符:
<: <
>: >
&: &
&apos: '
": "
CDATA区:
<![CDATA[会被转义为字符串]]>
XML的解析:
DOM解析:先将文档加载到内存,形成树形结构后解析,这样如果文档特别大,就会导致内存的移除,但是可以对XML进行增删改的操作
SAX解析:一行一行的进行解析,虽然不能对文档进行增删改的操作,但是如果文档特别大也不会导致内存溢出(API的实现 dom4j)
xml的约束:
DTD:
DTD引入方式:
内部DTD:<!DOCTYPE persons[]>
外部DTD:
本地:<DOCTYPE persons SYSTEM "unknown.dtd">
网络:<!DOCTYPE persons PUBLIC "//UNKNOWN/""unknown.dtd">
DTD语法:
元素:
<!ELEMENT 元素名 元素类型>
*元素类型:
EMPTY
ANY
子元素
是否有序:使用逗号(,)或者竖线(|)表示
出现的次数:?:零次或一次 +:一次或多次 *:零次或多次
PCDATA
-:
<!ATTLIST 元素名称 属性名称 属性的类型 属性的约束>
属性的类型:
ID类型:表示属性值需要唯一
CDATA类型:普通字符串
Schema语法:
和XML语法一样,所以更容易被解析器解析,Schema支持命名空间,是比DTD更强大的语义和语法的约束
*名称空间:可以通过名称空间区分标签或属性来自哪个文档,通常名称空间唯一不重复即可,一般情况一个rul地址表示一个名称空间
xmlns:xml name sapace 代表当前文档应用的名称空间
targetNameSpace:目标名称空间
Tomcat
tomcat下载解压之后就可以使用
软件构架
C/S构架:(安装在PC端的软件)
Client/Server 客户端和服务器端的软件,效果炫,因为一部分代码写到客户端所以速度比较快,但是这样导致服务器端更新,客户端也需要更新
B/S构架:(只需要一个浏览器)
Browser/Server 浏览器和服务器端的软件.所有的代码都运行在服务器端,所以服务器端更新,客户端不需要更新,但是这样会导致服务器压力过大
WEB资源:
静态资源:
HTML,CSS,JS,图片....
动态资源:
PHP,ASP,Servlet/JSP
WEB动态资源目录结构:
website
静态资源
WEN-INF
web.xml 必须的
classes:可选的
lib:可选的
Tomact的目录结构:
bin:tomcat的执行文件
conf:tomcat的配置文件
lib:tomcat运行需要的jar包
logs:tomcat运行的日志文件
temp:tomcat产生临时文件存放的路径
webapps:tomcat发布web项目的路径
work:tomcat运行JSP的时候,JSP翻译成Servlet的代码存放的路径
发布web项目到Tomcat中的几种方式:
1.直接将工程copy到tomcat/webapps下
2.配置tomcat的虚拟路径
在tomcat/conf/server.xml文件中进行配置
在<host>标签下配置
<Context path = "/itheima" docBase = "C:/website">
不推荐使用这种方式,修改tomcat核心配置,容易出错
3.配置tomcat虚拟路径
在tomcat/conf/Catalina/localhost/xxx.xml
配置<Context docBase = "C:/website">;
4.将项目打包成war包直接扔到webapps下
Tomcat常见的问题:
1.没有配置JAVA_HOME引发tomcat一闪消失
配置JAVA_HOME环境变量
2.端口号冲突
1.将占用端口的应用结束
netstat-ano
2.修改自身应用的端口号i
tomcat/conf/server.xml