首页 > Web开发 > 详细

1.xml http

时间:2018-02-05 21:26:49      阅读:212      评论:0      收藏:0      [点我收藏+]
xml(了解)
    xml介绍
        可扩展标记语言,类似html
        xml的标签可以自定义
        宗旨:存储数据
        xml的作用:
            1.交换数据--不同语言之间
            2.配置文件--项目开发和框架最常见的☆
    书写规范
        xml必须有根元素(只有一个)
        xml标签必须有关闭标签
        xml标签对大小写敏感
        xml的属性必须加引号
        特殊字符必须转义 > < &
        空格/回车/制表符在xml中都是文本节点
        xml必须正确地嵌套
        我们将符合上述书写规则的XML叫格式良好的XML文档
    xml的组成
        声明:
            作用:告诉计算机我是一个xml文件、
            格式:
                <?xml version=‘1.0‘ encoding=‘utf-8‘?>
            注意:
                必须是xml文档第一行
                必须顶格写
        元素:
            格式:    
                <xxx></xxx>
                <xxx/>
            注意:    
                xml元素必须遵循以下命名规则:
                    名称可以含字母、数字以及其他的字符
                    名称不能以数字或者标点符号开始
                    名称不能以字符"xml"(或者XML、Xml)开始
                    名称不能包含空格
                    可使用任何名称,没有保留的字词
        属性:
            格式:
                <xxx key=‘value‘/>
            注意:
                属性值必须用引号
        注释:
            和html一样
            <!-- 
                
            -->
        CDATA:
            在页面原样输出
            格式:
                <![CDATA[
                    原样输出的内容
                ]]>
    xml的约束:
        约束的作用:
            规定xml文档中可以出现哪些元素和属性,且规定了他们出场顺序了、
        约束的分类:
            DTD约束:struts hibernate
            SCHEMA约束:spring
        DTD约束:
            DTD和xml的关联:
                三种:
                    内部关联:
                        格式:<!DOCTYPE 根元素 [语法]>
                    外部关联--系统关联:
                        格式:在xml中写法
                            <!DOCTYPE 根元素 SYSTEM "dtd的路径">
                    外部关联--公共关联
                        格式:在xml中写法
                            <!DOCTYPE 根元素 PUBLIC  "DTD名称" "dtd的路径">
                    注意:dtd文件的后缀名为.dtd
            dtd的组成:
                元素:    
                    格式1:<!ELEMENT 元素名称 (内容)>
                    格式2:<!ELEMENT 元素名称 类别>
                    类别:
                        #PCDATA 元素的文本节点为字符串,不能出现元素 用的时候一般用()引起来
                    符号:
                        *:出现的次数>=0
                        +:出现的次数>=1
                        ?:出现的次数0|1
                        |:或者
                        ():分组
                        ,:顺序
                属性:
                    格式:
                        <!ATTLIST 元素名称 属性名称 属性类型 默认值>
                    属性的类型:
                        ID:唯一
                        CDATA:字符串
                    默认值:
                        #RUQUIRED:属性必须出现
                        #IMPLIED:属性可选出现
        SCHEMA约束:
            一个xml可以出现多个schema约束,但是一个一个xml只能出现一个dtd约束
            后缀名.xsd
                a.xsd  table  width  height 
                b.xsd  table  row    col
                
            在一个xml文档中若出现以上情况,可以 通过名称空间解决。
            名称空间的写法:
                xmlns=‘aaa‘    --指的是a.xsd
                xmlns:别名=‘bbb‘    --指的是b.xsd
                例如:
                    xmlns:b=‘bbb‘
                <table> 代表来自a.xsd文件中
                <b:table> 代表的是来自b.xsd文件
                注意:    
                    没有别名的名称空间只能出现一个。
                作用:确定元素的约束来自哪个约束文档
            
            和xml文件的关联:
                1.编写xsd文件。 xsd文件本质也是一个xml文件,只是后缀名为.xsd
                    targetNamespace="http://www.example.org/b1" --给自己的约束文件起个名称,方便xml文件使用。
                    注意:    
                        名称可以自定义
                        建议使用唯一的,域名/自定义的内容
                        targetNamespace="http://www.example.com/taotao" 
                    再次确定根元素是哪个
                2.根据xsd编写xml
                    首先写根元素
                    然后添加约束
    xml的解析:
        常用的解析方式:
            DOM:一次性将xml文档加载到内存中,形成一棵树,可以对节点进行crud操作
            SAX:逐行解析。只使用于R操作。查询效率高
        常用的解析技术:
            JAXP(SUN) JDOM DOM4J pull xstream
        重点:dom4j的查询操作
        使用步骤:
            1.导入jar包(解压zip包 在项目中导入dom4j-1.6.1.jar)
            2.xml读取到内存
                SAXReader reader=new SAXReader();
                Dodument doc=reader.read(xml文件路径);
            3.先获取根节点
                Element rootEle=doc.getRootElement();
            4.通过根节点获取其他的节点
                常用的方法:
                    List<Element> bookList=rootEle.elements();
                    遍历list获取到每一个bookEle
                        String value=bookEle.attributeValue("category");
                        String text=booEle.elementText("author");
                    获取子元素
                        Element title=bookEle.element("title");
                扩展方法(了解)
                    Iterator<Element> i=rootEle.elementIterator(); --获取的每一个子节点
                    获取其他的节点:
                        属性:String value=book.attribure("category").getValue();
                        文本:String text=book.element("title").getText();
    xpath查询操作
        使用步骤:
            1.导入jar包 (dom4j的jar包和jaxme-api-0.3.jar)
            2.获取document
                Dodument doc=new SAXReader().read(xml路径);
            3.可以通过匹配表达式获取其他节点
                常用方法:
                    list selectNodes(匹配表达式):返回多个
                    element selectSingleNode(匹配表达式):返回第一个
        
        
tomcat(☆)
    web的相关概念:
        web:
            单词:网络资源
            web资源分类:
                静态的web资源:内容不发生改变的资源
                动态的web资源:内容可能发生改变的资源
            资源的开发技术:
                静态的开发技术:html css
                动态的开发技术:servlet jsp 
        软件的架构:
            c/s:客户端和服务器 例如:qq feiq
            b/s:浏览器和服务器 例如:网页游戏 网页qq 
            
        web通信基于请求响应机制。
        
    常见web服务器:
        服务器:硬件服务器和软件服务器
        常见的web服务器:
            服务器名称        公司        特点
            weblogic       oracle    大型收费web服务器,支持javaee所有规范
            websphere        IBM        大型收费web服务器,支持javaee所有规范
            tomcat            apache    中小型免费web服务器,支持servlet和jsp规范
        
    下载:apache
    安装:解压zip文件
    运行:D:\apache-tomcat-7.0.77\bin\startup.bat 双击
    测试:localhost:8080 浏览器出现汤姆猫
    常见问题:
        JAVA_HOME配置
        端口冲突:
          a)
            修改tomcat安装目录下conf文件夹中server.xml
            <Connector port="8080" protocol="HTTP/1.1"
            connectionTimeout="20000"
            redirectPort="8443" useBodyEncodingForURI="true" IEncoding="utf-8" URIEncoding="UTF-8"/>
            有时候,会把端口改成80
          b)
            在cmd打开的窗口中输入 netstat -aov
    关闭:
        方式1:关闭cmd窗口
        方式2:执行命令 shutdown.bat  
        方式3:ctrl+c 
        
    tomcat目录结构:
        bin:存放可执行程序的目录
        conf:存放配置文件的目录
        lib:存放tomcat运行和项目运行所需的jar包
        logs:存放日志文件的目录,主要查看catalina
        temp:临时文件
        webapps: ☆项目存放的目录
        work:☆jsp运行时产生的java文件和字节码文件
        
    web项目目录结构:
        myweb(目录)
            |
            |---WEB-INF(目录:通过浏览器访问不到,但是可以通过java程序访问到。)
            |      |
            |      |--lib(目录:存放项目所用的jar包)
            |      |--classes(目录:存放java文件对应的class文件)
            |      |--web.xml(文件,项目的核心配置文件)
            |
            |---html js css
            |
            
    web项目部署(发布项目):也叫虚拟目录映射
        方式1.将项目放在tomcat/webapps下即可(最常用)
        
        方式2.修改tomcat/conf/server.xml 在125行左右 host标签下,添加如下代码(不推荐)
            <Context path="/项目名" docBase="项目的路径"/>
            例如:    
                <Context path="/my" docBase="d:/myweb"/>
            访问路径:
                localhost:8080/项目名/资源
                例如:localhost:8080/my/html/1.html
                
        方式3.在tomcat/conf/catalina/localhost下新建一个xml文件,文件的名称即为项目名称
            先写xml文件,添加下面的代码
                <Context docBase="项目的路径"/>
                例如:    
                    <Context docBase="d:/myweb"/>
                    文件名称为m.xml
                访问的路径:
                    localhost:8080/m/html/1.html
    tomcat和eclipse整合
    
    war包:
        特点:tomcat可以自动解压war包
        后缀名:.war包
        方式1:通过eclipse
        方式2:进入项目目录,选择所有文件,添加到压缩文件,选择zip格式,将后缀名改成.war包
        方式3:在cmd中进入项目目录,运行 jar -cvf 名称 .war */
    
http(理解)
    超文本传输协议。
    http协议的默认端口:80
    http是一个无状态的协议。
    请求:
        浏览器发送到服务器
        组成部分:请求行 请求头 请求体
        请求行:请求信息的第一行
            格式:请求方式  请求的资源路径  协议/版本
            例如:GET/javaee_day08/1.html HTTP/1.1
        请求头:
            格式:key:value
            重点:
                Cookie 
                Referer(防盗链)
                IF-Modified-Since Accept-Encoding
        请求体:和请求头之前有一个空行
            只有post请求才有请求体
            get:localhost/web?username=zhangsan&password=1234
            post:localhost/web    
                请求体中就会出现:username=zhangsan&password=1234
                
    响应:
        服务器返回浏览器
        组成部分:响应行  响应头  响应体
        响应行:
            响应信息第一行
            格式:协议/版本  状态码  状态码的说明
            例如:HTTP/1.1 200 OK
            状态码:
                1xx:正在处理
                2xx:响应成功
                3xx:还需进一步处理
                    常见的3xx:
                        302:跳转
                        304:没有修改,读缓存
                4xx:客户操作错误
                    常见的404:
                5xx:服务器错误
                    常见的500(代码错误)
        响应头:
            格式:key:value
            重点:
                Set-Cookie
                Location:跳转方向
                Content-Type
                Refresh:刷新
                Content-Disposition:上传下载
        响应体:响应体和响应头之间有一行空行
                就是页面要显示的内容
        
        
        
        

 

1.xml http

原文:https://www.cnblogs.com/syj1993/p/8419197.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!