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

XML技术的作用?


XML技术用于数据存储、

信息配置、

数据交换三方面。

可以将数据存储在XML中,

通过节点、

元素内容、

属性标示数据内容及关系。

可以使用XML很方便的做信息配置,

软件的各种配置参数和对象关系

都存贮在XML文件中。

在做数据交换平台时,

将数据组装成XML文件,

然后将XML文件压缩打包加密后

通过网络传送给接收者,

接收解密与解压缩后再同XML文件中

还原相关信息进行处理。


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 语法本身有自身的语法和要求,

难以学习。

 


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文档的内容


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提交。


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


一个Servlet对应有一个ServletConfig对象,

可以用来读取初始化参数。

一个webapp对应一个ServletContext对象。

ServletContext对象

获取初始化定义的参数。

ServletContext对象可以通过

context.getResourceAsStream("/PATH");

或者context.getRealPath("/")。

去获取webapp的资源文件。

ServletContext对象的

setAttribute(String name,Object o)方法

可以将对象存储在Context作用范围域

又称为全局作用范围域,

在整个web应用当中可以共享.

ServletContext对象

可以和服务器进行通讯,

比如写信息到服务器的日志信息当中。。


最后分享一些Java架构资料,面试资料及学习资源给大家:


主要包括(Java工程化、高性能及分布式、并发编程、深入浅出。性能调优、Spring,Mybatis,Netty,Redis,JVM, Zookeeper , ConcurrentHashMap1.8源码解读,源码分析等视频及文档,也有详细的Java进阶路线脑图)



来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/31545684/viewspace-2221489/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/31545684/viewspace-2221489/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值