撩课-Java每天5道面试题第9天

作者: 码蚁Q | 来源:发表于2018-11-06 23:45 被阅读2次

    76、XML技术的作用?

    XML技术用于数据存储、
    信息配置、
    数据交换三方面。
    
    可以将数据存储在XML中,
    通过节点、
    元素内容、
    属性标示数据内容及关系。
    
    可以使用XML很方便的做信息配置,
    软件的各种配置参数和对象关系
    都存贮在XML文件中。
    
    在做数据交换平台时,
    将数据组装成XML文件,
    然后将XML文件压缩打包加密后
    通过网络传送给接收者,
    接收解密与解压缩后再同XML文件中
    还原相关信息进行处理。
    

    77.XML文档约束有哪几种?有什么区别?

    有两种定义形式,
    dtd文档类型定义和SchemaXML模式;
    XML Schema 和DTD都用于文档验证,
    但二者还有一定的区别,
    本质区别是:Scheme本身是xml的,
    可以被XML解析器解析,
    这也是从DTD上发展Schema的根本目的。
    
    另外,
    XML Schema 是内容开放模型,
    可扩展,功能性强,
    而DTD可扩展性差。
    XML Schema 支持丰富的数据类型,
    而 DTD不支持元素的数据类型,
    对属性的类型定义也很有限。
    XML Schema 支持命名空间机制,
    而DTD不支持。
    XML Schema 可针对不同情况
    对整个XML 文档或文档局部进行验证;
    而 DTD缺乏这种灵活性。
    XML Schema 完全遵循XML规范,
    符合XML语法,
    可以和DOM结合使用,
    功能强大;
    而DTD 语法本身有自身的语法和要求,
    难以学习。
     
    

    78.XML的解析方式有哪几种?有什么区别?

    1.DOM解析:
     DOM的全称是Document Object Model,
    也即文档对象模型。
    在应用程序中,
    基于DOM的XML分析器
    将一个XML文档转换成
    一个对象模型的集合(通常称DOM树),
    应用程序正是通过对
    这个对象模型的操作,
    来实现对XML文档数据的操作。
    通过DOM接口,
    应用程序可以在任何时候
    访问XML文档中的任何一部分数据,
    因此,这种利用DOM接口的机制
    也被称作随机访问机制。
    
    2.SAX解析:
    SAX的全称是Simple APIs for XML,
    也即XML简单应用程序接口。
    与DOM不同,
    SAX提供的访问模式是一种顺序模式,
    这是一种快速读写XML数据的方式。
    当使用SAX分析器对XML文档进行分析时,
    会触发一系列事件,
    并激活相应的事件处理函数,
    应用程序通过这些事件处理函数
    实现对XML文档的访问,
    因而SAX接口也被称作事件驱动接口。
    
    3.JDOM解析:
    JDOM采用了Java中的Collection架构来封装集合,
    是Java爱好者更加熟悉的模式
    
    4.DOM4J解析:
    xml解析器一次性把整个xml文档加载进内存,
    然后在内存中构建一颗Document的对象树,
    通过Document对象,
    得到树上的节点对象,
    通过节点对象访问(操作)到xml文档的内容
    

    79.Http请求的Get和Post的区别?

    1. get从地址栏以明文的方式提交请求
    信息内容
    ?username=admin&password=123,
    用户可见, 
    而post从请求正文提交请求信息内容,
    用户不可见。
    
    2. get提交因为是从地址栏传递,
    而浏览器的地址栏长度有限制,
    不能提交大数据
    post从请求正文传递信息内容,
    对文件大小无限制,
    文件上传只能选择post
    
    3. request对象是服务器获取请求信息
    从请求头,请求正文中获取
    我们可以使用request.setCharacterEncoding方法
    修改请求对象字符编码信息,
    但是不能修改地址栏字符编码。
    
    get从地址栏传递信息,
    不能使用request.setCharacterEncoding这个方法
    去修改字符编码。
    post从请求正文以form表单形式提交,
    所以可以使用request.setCharacterEncoding
    这个方法去修改字符编码。
    
    4. 总结: 能够使用post提交尽量使用post提交。
    

    80.ServletConfig对象和ServletContext对象有什么区别?

    一个Servlet对应有一个ServletConfig对象,
    可以用来读取初始化参数。
    
    一个webapp对应一个ServletContext对象。
    
    ServletContext对象
    获取初始化定义的参数。
    
    ServletContext对象可以通过
    context.getResourceAsStream("/PATH");
    或者context.getRealPath("/")。
    
    去获取webapp的资源文件。
    
    ServletContext对象的
    setAttribute(String name,Object o)方法
    可以将对象存储在Context作用范围域
    又称为全局作用范围域,
    在整个web应用当中可以共享.
    
    ServletContext对象
    可以和服务器进行通讯,
    比如写信息到服务器的日志信息当中。。
    

    相关文章

      网友评论

        本文标题:撩课-Java每天5道面试题第9天

        本文链接:https://www.haomeiwen.com/subject/yrapxqtx.html