JavaWeb面试题
1.Javaweb技术的结构
1.1. Javaweb技术结构图
1.1. 结构图说明:
整体分为四个部分:
- 黑线: JavaScript相关技术路线
- 蓝线: Servlet相关技术路线
- 红线: Jsp相关技术路线
- 紫线: Web会话相关技术路线
2.JavaScript相关技术路线(黑线)
此部分包括: JavaScript, Jquery, Ajax, XML, JSON和HTML等技术.
2.1. 列举BOM中常用的几个全局变量和全局方法?
全局对象: window
全局变量: document location history navigator screen
全局方法:alert() confirm() prompt() open() close()
2.2. 在js中如何创建一个对象?
2.3. 在js中如何得到对象的属性?
2.1. 谈谈Ajax技术
Ajax原理
Ajax的原理简单来说通过XmlHttpRequest对象来向服务器发异步请求,从服务器获得数据,然后用javascript来操作DOM而更新页面的局部显示。
Ajax的优点:
1.最大的一点是页面无刷新,给用户的体验非常好。
2.使用异步方式与服务器通信,不需要打断用户操作,具有更加迅速的响应能力。
3.ajax的原则是“按需取数据”,最大程度的减少冗余请求,减少服务器的负荷。
Ajax的缺点:
1.破坏浏览器后退按钮的正常行为。在动态更新页面后,用户无法回到前一个页面的状态.
2.使用JavaScript作Ajax的引擎,JavaScript的兼容性和Debug本身就让人头大。
Ajax的应用场景:
1.文本输入提示(自动完成)的场景(注册)
2.对数据进行联动过滤的场景(三级联动)
2.1. 你觉得jquery有哪些好处?
jQuery是轻量级的javascript框架
强大的选择器
出色的DOM操作的封装
可靠的事件处理机制
完善的ajax封装
出色的浏览器的兼容性
支持链式操作,隐式迭代
支持丰富的插件
jquery的文档也非常的丰富
2.2. jquery对象和dom对象如何转换?
- jquery转DOM对象:
jQuery 对象是一个数组对象,可以通过[index]的丰富得到DOM对象还可以通过get[index]去得到相应的DOM对象。
- DOM对象转jQuery对象:
$(DOM对象)
2.3. jquery中$.get()提交和$.post()提交的区别?
- $.get() 方法使用GET方式提交请求,而$.post()使用POST方式。
- GET方式传输的数据大小不能超过2KB 而POST要大的多
- GET 方式请求的数据会被浏览器缓存起来,因此有安全问题。
2.4. $(document).ready()方法和window.onload区别?
答: 两个方法有相似的功能,但是在实行时机方面是有区别的。
1 window.onload方法是在网页中所有的元素(包括元素的所有关联文件)完全加载到浏览器后才执行的。
2 $(document).ready() 方法可以在DOM载入就绪时就对其进行操纵,并调用执行绑定的函数。
2.5. xml有哪些解析技术?区别是什么?
答:有DOM,DOM4j,SAX,PULL等
DOM: 一次性将整个文档加载到内存中, 生成一个对象树, 在处理大型文件时其性能下降的非常厉害。
DOM4J: 对DOM的进一步封装, API使用更简洁
SAX:基于事件驱动的方法回调机制。每读取一小部分数据时就会回调事件处理器对象的方法, 但解析一旦开始就不能停止.
PULL: 也是基于事件驱动, 只是需要手动控制读取下一部分数据,这样得到想要的数据后就可以停止解析.
2.6. 你在项目中用到了xml技术的哪些方面?如何实现的?
答:用到了数据存贮,信息配置两方面。在做数据交换平台时,将不能数据源的数据组装成XML文件,然后将XML文件压缩打包加密后通过网络传送给接收者,接收解密与解压缩后再同XML文件中还原相关信息进行处理。在做软件配置时,利用XML可以很方便的进行,软件的各种配置参数都存贮在XML文件中。
2.7. 说说你对JSON的理解
JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。它基于标准JavaScript的一个子集,是一个Js对象或数组结构的字符串
JSON有三类数据
- 单个数据
有number, string, boolean和null四种类型数据
- 多个有序的数据: 数组
用[]包含起来, 其元素可以是三类数据中的任意一种, 元素之间用,号隔开
- 多个无序的数据: 对象
用{}包含起来, 其元素必须由key-value组成, key是一个字符串, value可以是任意类型数据, key与value之间用:号隔开, 两个key-value之间用,号隔开.
本教程由尚硅谷教育大数据研究院出品,如需转载请注明来源,欢迎大家关注尚硅谷公众号(atguigu)了解更多。