XML
-
概念:Extension Markup Language 可扩展性标记语言
-
功能:代替properties,用于存储结构化的数据。
- 配置文件
- 网络中传输,AJAX中的X就是XML (Asynchronous Javascript And XML)
-
语法:
- xml文档第一行必须定义文档声明,空格也不允许
- xml文件后缀名.xml
- xml文件有且只有一个根标签
- 属性值必须使用引号引起来,单双引号都可
- 标签必须有结束标签,或者可以自闭合标签
- xml标签区分大小写
-
组成部分:
- 文档声明:
- 格式 <?xml 属性列表 ?>
- 属性列表:
- version 版本号
- encoding:编码方式;告知解析引擎,默认ISO-8859-1
- standalone:是否独立;yes(不依赖其他文件) / no(依赖其他文件)
- 指令(了解):结合css用于带样式展示数据
- 标签:规则:不能数字、符合、xml开头
- 属性:id属性值唯一
- 文本:可以在xml的<code>标签下写代码,不过有些符号需要转译
- CDTAT区:该部分的代码会被原样展示
- 约束:约束xml文件格式的规则,要求会读约束文件即可,并且能够引入约束文件
- DTD约束:一种简单的约束文档
- 引入dtd文档到xml文档中
- 内部dtd:将约束规则定义在xml文档中(不常用)
- 外部dtd:将约束的规则定义在外部的dtd文件中
- 本地:<!DOCTYPE 根标签名 STSTEM dtd文件位置>
- 网络:<!DOCTYPE 根标签名 PUBLIC “dtd文件名字” “dtd文件的位置URL”>
- dtd的缺陷:规定不了属性内部的内容信息,比如阈值、类型等
- 引入dtd文档到xml文档中
- Schema约束:一种复杂的约束文档
- 引入:那个看懂就行、做简单修改。
- DTD约束:一种简单的约束文档
- 解析:就是操作xml文档,将文档中的数据读取到内存中
- 解析(读取):将文档中的数据读取到内存中
- 写入:将内存中的数据保存到xml文档中。持久化存储
- 解析xml的方式:
- DOM:将标记语言文档一次性加载进内存,会在内存中形成一棵DOM树
- 优点:操作方便,可以对文档进行CRUD的所有操作
- 缺点:占内存
- SAX:逐行读取,基于事件驱动的,读一行释放一行
- 优点:基本不占内存
- 缺点:只能读取,不能增删改
- DOM思想一般用于服务器端;SAX一般用于移动端
- DOM:将标记语言文档一次性加载进内存,会在内存中形成一棵DOM树
- xml常见的解析器:
- JAXP:sun公司提供,支持DOM和SAX两种思想,性能比较差
- DOM4J:一款非常优秀的解析器
- Jsoup:一款HTML的解析器,可直接解析某个URL地址,HTML文本内容。
- Jsoup使用:
- 导入相关jar包
- 获取Document对象
- 获取对应的标签——Element对象
- 获取数据
- 文档声明:
Tomcat
-
web相关概念回顾
- 软件架构: C/S B/S
- 资源分类:
- 静态资源(所有用户访问后得到结果都一样如html css);
- 静态资源直接通过服务器返回浏览器,浏览器内部有静态资源解析引擎
- 动态资源(每个用户访问后得到结果可能不一样);
- 动态资源被访问时,先转换为静态资源,再返回给用户
- 静态资源(所有用户访问后得到结果都一样如html css);
- 网络通信三要素:IP :端口:传输协议
- Web服务器软件:
- 服务器:安装了服务器软件的计算机
- 服务器软件:接受用户请求
- web服务器软件:
- 在web服务器软件中,可以部署web项目,让用户通过浏览器来访问这些项目
- web容器
- 常见的服务器软件:
- webLogic:大型JavaEE服务器,支持所有JavaEE(Java语言在企业级开发中使用的集合规范总和,一共规定了13项大的规范)
- webSphere:IBM公司,大型JavaEE
- JBOSS:JBOSS公司
- Tomcat:Apache基金组织,中小型JavaEE服务器,仅支持少量的JavaEE规范
-
Tomcat:基本操作:下载,安装(目录不要有中文),启动,关闭,配置
- 启动问题:
- 黑窗口一闪而过:没有正确配置JAVA_HOME
- 启动报错:端口号被占用:干掉对应进程;修改端口号conf目录下server.xml
- 启动问题:
-
Tomcat目录结构
- bin:可执行文件
- conf:配置文件
- lib:依赖jar包
- logs:日志文件
- temp:临时文件
- webapps:存放web项目的
- work:存放运行时数据
-
部署项目的方式:
- 直接将项目放到webapps目录下即可
- 其存放文件的路径叫做虚拟路径
- 简化部署:将项目打成war包,将war包放置到webapps目录下,它会自动解压缩
- 部署缺点:需要进行拷贝
- 在conf/server.xml里面<Host>里面配置:
<!--项目部署--> <!--Filepath:文件存储的路径--> <!--virtual path:网页访问的虚拟路径--> <Context docBase="Filepath" path="virtual path"/>
- 直接将项目放到webapps目录下即可