Java每天5道面试题,跟我走,offer有!(九)-LMLPHP

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对象 可以和服务器进行通讯, 比如写信息到服务器的日志信息当中。。 
11-26 09:16