JavaWeb面试题

1.Javaweb技术的结构

1.1. Javaweb技术结构图

1.1. 结构图说明:

整体分为四个部分:

  1. 黑线: JavaScript相关技术路线
  2. 蓝线: Servlet相关技术路线
  3. 红线: Jsp相关技术路线
  4. 紫线: 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对象如何转换?

  1. jquery转DOM对象:

jQuery 对象是一个数组对象,可以通过[index]的丰富得到DOM对象还可以通过get[index]去得到相应的DOM对象。

  1. DOM对象转jQuery对象:

$(DOM对象)

2.3. jquery中$.get()提交和$.post()提交的区别?

  1. $.get() 方法使用GET方式提交请求,而$.post()使用POST方式。
  2. GET方式传输的数据大小不能超过2KB 而POST要大的多
  3. 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有三类数据

  1. 单个数据

有number, string, boolean和null四种类型数据

  1. 多个有序的数据: 数组

用[]包含起来, 其元素可以是三类数据中的任意一种, 元素之间用,号隔开

  1. 多个无序的数据: 对象

用{}包含起来, 其元素必须由key-value组成, key是一个字符串, value可以是任意类型数据, key与value之间用:号隔开, 两个key-value之间用,号隔开.

 

本教程由尚硅谷教育大数据研究院出品,如需转载请注明来源,欢迎大家关注尚硅谷公众号(atguigu)了解更多。