Day24 JavaWeb知识 (1)_XML&tomcat

(一)XML

一.概述和作用

  1. eXtendsible Markup Language   可扩展的标记语言
  2. 可以用来保存数据
    可以用来配置文件
    数据传输载体

 二.定义xml

    其实就是一个文件,文件的后缀为  .xml

  1. 文档声明
    - -简单声明,version:解析这个xml的时候,是用什么版本的解析器解析
    <?xml version = "1.0"?>
    - - encoding:解析xml中的文字的时候,使用什么编码来翻译
    <?xml version = "1.0" encoding ="gbk" ?>
    - - standalone:no -该文档会依赖关联其它文档,   yes--这是一个独立的文档
    <?xml version = "1.0" encoding ="gbk"  standalone ="no" ?>
  2. encoding详解:
    1. 在解析这个xml的时候,使用什么编码去解析      --解码
             电脑上的文件再保存的时候并不是真正的储存文字,而是存储这些文字的二进制.
      这些二进制根据文件使用的编码来得到
    2. 默认文件保存的时候,使用的是GBK的编码保存
      所以让xml正常显示中文有两种办法
      - - 让encoding也是 GBK 或者 gb2312
      - - 如果encoding是utf-8,那么保存文件的时候也必须使用utf-8
      保存的时候见到的ANSI对应的是本地编码 GBK
  3. 元素定义(标签)
    - - 其实就是里面的标签, <>括起来的都叫元素 ,成对出现  <stu></stu>
    - - 文档声明下来的第一个元素叫做根元素(根标签)
    - - 标签里可以嵌套标签
    - - 空标签:既是开始也是结束.一般配合属性来用<br/>
    - - 标签可以自定义. 
  4. 简单元素 & 复杂元素
    1. 简单元素
      - - 元素里面包含了普通的文字
    2. 复杂元素
      - - 元素里面还可以嵌套其它的元素
  5. 属性的定义
    定义在元素里面,<元素名称  属性名称="属性的值"></元素名称>

三.xml注释

  1. 与html的注释一样 <!-- -->
  2. xml的注释,不允许放置在文档的第一行,必须在文档声明的下面

四.CDATA区

  1. 非法字符:严格的讲,在XML中仅有<和&是非法的,省略号,引号和大于是合法的,但把他们替换成实体引用是个好的习惯
    <   &lt;             &   &amp;
  2. 如果某段字符串里面有过多的字符,并且里面包含了类似标签或关键字的这种文字,不想让xml的解析器去解析,那么可以使用CDATA来包装,不过这个CDATA一般比较少看到,通常在服务器给客户端返回数据的时候.
    < ! [CDATA[ <a href="http://fssaf.com">练习</a>] ] >

五.XML解析

其实就是获取元素里面的字符数据或者属性数据

  1. XML解析方式(面试常用)
    1. 有很多种,但是常用的有两种.
      - - DOM docuement:把整个XML全部读到内存当中,形成树状结构,整个文档称之为document对象,属性对应Attribute对象,
          所有的元素节点对应Element对象,文本也可以称之为Text对象,以上所有对象都可以称之为Node节点. 
          如果xml特别大,那么将会造成内存溢出,文档可以进行增删操作
      - - SAX simple API for XML 基于事件驱动,读取一行,解析一行
          不会造成内存溢出,不可以进行增删,只能查询
  2. 针对这两种解析方式的API
    一些组织或者公司,针对以上两种解析方式,给出的解决方案
    jaxp     sun公司,比较繁琐
    jdom   
    dom4j  使用比较广泛
  3. Dom4j 基本用法
    element.element("stu")    //返回该元素下的第一个stu元素
    element.elements();         //返回该元素下的所有子元素
    1. 创建SaxReader对象  SAXReader reader = new SAXReader();
    2. 指定解析的xml          Document document = reader.read(new File("../stus.xml"));
    3. 获取根元素                Element rootElement = document.getRootElement();
    4. 根据根元素获取子元素或者下面的子孙元素
  4. Dom4j的Xpath使用
    - - dom4j里面支持Xpath的写法. Xpath其实是xml的路径语言,支持我们在解析的时候,能够快速的定位到具体的某一个元素

    1. 添加jar包依赖
      jaxen-1.1-beta-6.jar

    2. 在查找指定节点的时候,根据XPath语法规则来查找
      //要想使用Xpath,还得添加支持的jar   获取的是第一个 之返回一个
        Element nameElement = (Element)rootElement.selectSingleNode("//name");
      //获取的所有name元素
        List<Element> list = rootElement.selectNodes("//name");

    3. 后续的代码与以前的解析代码一样

六.XML约束

  1. DTD     Document Type Definition文档类型定义
    - - 语法自成一派,早期就出现的,可读性比较差
    1. < !ELEMENT 元素的名称 元素的类型 >
      <!ELEMENT stus (stu)>                        //复杂元素 (子元素)
      <!ELEMENT stu (name,age)>              //复杂元素  (子元素)
      <!ELEMENT name (#PCDATA)>          //简单元素 (#PCDATA)
      <!ELEMENT age (#PCDATA)>
    2. 第一,二种在xml中引入dtd
          文档类型  根标签名字 网络上的dtd       dtd的名字             dtd的路径
      <!DOCTYPE     stus          PUBLIC       "//UNKOWN/" "unknown.dtd">
          文档类型  根标签名字 引入本地的dtd       dtd的路径
      <!DOCTYPE     stus         SYSTEM         "../stus.dtd">
    3. 第三种引入dtd:直接在xml中写dtd
      <!DOCTYPE  stus[    填入1的内容       ]>
    4. 添加属性的定义
      <!ATTLIST stu id CDATA 默认值>  //值为字符数据
      <!ATTLIST stu id ID 默认值>          //约束id是唯一的
    5. 元素的个数
      <!ELEMENT stus (stu)+>  
      +   一个或多个
      *   零个或多个
      ?  零个或一个
    6. <!ELEMENT stu (name , age)>   按照顺序来
      <!ELEMENT stu (name | age)>   两个中只能包含一个
  2. Schema
    - - 其实就是一个xml,使用xml的语法规则,xml解析器解析起来比较方便,是为了替代DTD
    - - 但是Schema 约束文本内容比DTD的内容还要多,所以目前也没有真正意义上的替代DTD
    <?xml version="1.0" encoding="UTF-8"?>
    <schema
       
    //xml namespace:名称空间/命名空间
        xmlns="http://www.w3.org/2001/XMLSchema"
      
    //目标名称空间.下面定义的那些元素都与这个名称空间绑定上
        targetNamespace="http://www.example.org/stus"
      
    //元素的格式化情况
        elementFormDefault="qualified">
    </schema>
    1. 在将简单元素嵌套在复杂元素中时
      <element name = "stu">复杂元素
               <complexType>
                        <sequence>
                                简单元素
                        </sequence>
               </complexType>
      </element >
  3. Schama约束的Xml中的格式
    <stus
             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"   //不可改动
             xmlns="http://www.example.org/stus"                 //根据Schama中的顶部目标名称空间
             xsi:schemaLocation="http://www.example.org/stus stus.xsd"   //xsd文件路径
    >
        内部元素
    </stus>

(二)tomcat

一.服务器

  1. 服务器
    其实服务器就是一台电脑,配置比一般的要好
  2. web服务器
    处理客户端的请求,返回资源 | 信息
    - - web应用   需要服务器支撑 
    Tomcat               apache
    WebLogic           BEA
    WebSphere        IBM
    IIS                      微软

 二.Tomcat安装

  1. 解压,安装.
  2. 找到bin目录下的startup.bat,启动后会出现黑窗口,表明成功安装,然后浏览器输入localhost:8080看到内容则成功
  3. 若黑窗口一闪而过,我个人是因为没有配置JAVA_HOME D:\JDK1.8,只配置了path D:\JDK1.8\bin

三.Tomcat目录介绍

  1. bin
    - - 包含了一些jar , bat 文件 , startup.bat
  2. conf
    - - tomcat的配置     server.xml   web.xml
  3. lib
    - - tomcat运行所需的jar文件
  4. logs
    - - 运行的日志文件 
  5. temp
    - - 临时文件
  6. webapps
    - - 发布到tomcat服务器上的项目,就存放在这个目录
  7. work
    - - jsp翻译成class文件存放地

四.如何把一个项目发布到tomcat中

需求:如何能让其他的电脑访问我这台电脑的资源
localhost : 本机地址

  1. - - 拷贝这个文件到webapps/ROOT底下,在浏览器里面访问
             http://localhost:8000/stu.xml
    - - 在webapps下面新建一个文件夹xml,然后拷贝文件放置到这个文件夹中
             http://localhost:8000/xml/stu.xml
             使用ip地址访问
             http:/ip地址:8000/xml/stu.xml
  2. - - 配置虚拟路径
    使用localhost:8080 打开tomcat首页,点击Documentation入口,然后点击Configuration,接着找到Context入口进入
             http://localhost:8080/docs/config/context.html
    - 1 - 在conf/server.xml  找到host元素节点
    - 2 - 加入以下内容
             <!-- docBase:项目的路径地址  如: D:\xml\stu.xml
             path : 对应的是虚拟路径,一定要以/开头
             对应的访问方式是: http://localhost:8080/a/stu.xml  -->
             <Context docBase="D:\xml" path="/a"></Context>
    - 3 - 浏览器访问: http://localhost:8080/a/stu.xml 
  3. - -  配置虚拟路径
      - 1 - 在tomcat/conf/catalina/localhost/ 文件夹下新建一个xml文件,名字可以自己定义stu.xml
      - 2 - 在这个文件里面写入以下内容
                 <?xml version='1.0' encoding='utf-8'?>
                <Context docBase="D:\xml" ></Context>
      - 3 - 浏览器访问:  http://localhost:8080/stu/stu.xml

五.给Eclipse配置Tomcat

  1. 在server里面右键新建一个服务器,选择到apache分类,找到对应的tomcat版本,一步步配置即可
  2. 配置完毕后,在server里面,右键open,找到Server Location  选择Tomcat
  3. 创建web工程,在webContent下定义html文件,右键工程,run as server

 

以上内容学习自黑马Java

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值