1、 “玩转”Java 系列1【更多 Java Android 资料下载,可访问尚硅谷(中国)官网 下载区】JavaWeb 面试题1.Javaweb 技术的结构1.1. Javaweb 技术结构图1.2. 结构图说明 :整体分为四个部分:1. 黑线: JavaScript 相关技术路线2. 蓝线: Servlet 相关技术路线3. 红线: Jsp 相关技术路线4. 紫线: Web 会话相关技术路线“玩转”Java 系列2【更多 Java Android 资料下载,可访问尚硅谷(中国)官网 下载区】2.JavaScript 相关技术路线(黑线 )此部分包括: JavaScript, Jquery
2、, Ajax, XML, JSON 和 HTML 等技术.2.1. 列举 BOM 中常用的几个全局变量和全局方法 ? 全局对象 : window全局变量: document location history navigator screen 全局方法:alert() confirm() prompt() open() close() 2.2. 在 js 中如何创建一个对象 ?2.3. 在 js 中如何得到对象的属性 ?“玩转”Java 系列3【更多 Java Android 资料下载,可访问尚硅谷(中国)官网 下载区】2.4. 谈谈 Ajax 技术Ajax 原理Ajax 的原理简单来说通过
3、XmlHttpRequest 对象来向服务器发异步请求,从服务器获得数据,然后用 javascript 来操作 DOM 而更新页面的局部显示。Ajax 的优点:1.最大的一点是页面无刷新,给用户的体验非常好。2.使用异步方式与服务器通信,不需要打断用户操作,具有更加迅速的响应能力。3.ajax 的原则是 “按需取数据”,最大程度的减少冗余请求,减少服务器的负荷。“玩转”Java 系列4【更多 Java Android 资料下载,可访问尚硅谷(中国)官网 下载区】Ajax 的缺点:1.破坏浏览器后退按钮的正常行为。在动态更新页面后,用户无法回到前一个页面的状态.2.使用 JavaScript
4、作 Ajax 的引擎,JavaScript 的兼容性和 Debug 本身就让人头大。Ajax 的应用场景:1.文本输入提示(自动完成)的场景(注册)2.对数据进行联动过滤的场景(三级联动)2.5. 你觉得 jquery 有哪些好处?jQuery 是轻量级的 javascript 框架强大的选择器出色的 DOM 操作的封装可靠的事件处理机制完善的 ajax 封装出色的浏览器的兼容性支持链式操作,隐式迭代支持丰富的插件jquery 的文档也非常的丰富2.6. jquery 对象和 dom 对象如何转换?1. jquery 转 DOM 对象:jQuery 对象是一个数组对象,可以通过index的丰富
5、得到 DOM 对象还可以“玩转”Java 系列5【更多 Java Android 资料下载,可访问尚硅谷(中国)官网 下载区】通过 getindex去得到相应的 DOM 对象。2. DOM 对象转 jQuery 对象 :$(DOM 对象)2.7. jquery 中 $.get()提交和 $.post()提交的区别?1. $.get() 方法使用 GET 方式提交请求,而$.post()使用 POST 方式。2. GET 方式传输的数据大小不能超过 2KB 而 POST 要大的多3. GET 方式请求的数据会被浏览器缓存起来,因此有安全问题。2.8. $(document).ready()方法
6、和 window.onload 区别?答: 两个方法有相似的功能,但是在实行时机方面是有区别的。1 window.onload 方法是在网页中所有的元素( 包括元素的所有关联文件) 完全加载到浏览器后才执行的。2 $(document).ready() 方法可以在 DOM 载入就绪时就对其进行操纵,并调用执行绑定的函数。2.9. xml 有哪些解析技术 ?区别是什么 ? 答:有 DOM,DOM4j,SAX,PULL 等 DOM: 一次性将整个文档加载到内存中, 生成一个对象树 , 在处理大型文件时其性能下降的非常厉害。DOM4J: 对 DOM 的进一步封装, API 使用更简洁SAX:基于事件
7、驱动的方法回调机制。每读取一小部分数据时就会回调事件处理器对象的方法, 但解析一旦开始就不能停止.“玩转”Java 系列6【更多 Java Android 资料下载,可访问尚硅谷(中国)官网 下载区】PULL: 也是基于事件驱动, 只是需要手动控制读取下一部分数据, 这样得到想要的数据后就可以停止解析.2.10. 你在项目中用到了 xml 技术的哪些方面 ?如何实现的 ? 答:用到了数据存贮,信息配置两方面。在做数据交换平台时,将不能数据源的数据组装成 XML 文件,然后将 XML 文件压缩打包加密后通过网络传送给接收者,接收解密与解压缩后再同 XML 文件中还原相关信息进行处理。在做软件配
8、置时,利用 XML 可以很方便的进行,软件的各种配置参数都存贮在 XML 文件中。2.11. 说说你对 JSON 的理解JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。它基于标准JavaScript 的一个子集 ,是一个 Js 对象或数组结构的 字符串JSON 有三类数据1. 单个数据有 number, string, boolean 和 null 四种类型数据2. 多个有序的数据: 数组用 包含起来, 其元素可以是三类数据中的任意一种, 元素之间用,号隔开3. 多个无序的数据: 对象用包含起来, 其元素必须由 key-value 组成, key
9、是一个字符串, value 可以是任意类型数据, key 与 value 之间用:号隔开, 两个 key-value 之间用, 号隔开.“玩转”Java 系列7【更多 Java Android 资料下载,可访问尚硅谷(中国)官网 下载区】3.Servlet 相关技术路线 (蓝线)此部分包括: Servlet, Filter, Listener 和 HTTP 协议3.1. 解释一下什么是 servlet?答: 我们可以从下面二个方面去看 Servlet:1. API: 有一个接口 Servlet, 它是 Servlet 规范中定义的用来处理客户端请求的程序需要实现的顶级接口2. 组件: 服务器
10、端用来处理客户端请求的组件, 需要在 web.xml 请求中配置“玩转”Java 系列8【更多 Java Android 资料下载,可访问尚硅谷(中国)官网 下载区】3.2. 说一说 Servlet 的生命周期 ? 答: Servlet 生命周期分为三个阶段:1,初始化阶段 调用 init()方法2,响应客户请求阶段 调用 service()方法-doGet/doPost()3,终止阶段 调用 destroy()方法3.3. 区别请求的转发与重定向 ? 答: 可以从以下三个方面进行比较1.地址栏: 转发: 显示的是请求的 URL重定向: 显示的不是请求的 URL, 而是重定向指向的新的 UR
11、L2.浏览器发了几次请求?转发: 1 次请求重定向: 2 次请求3. 是否可以进行 Request 的数据共享?转发: 两个资源之间是同一个 request 对象, 可以共享 request 中的数据重定向: 两个资源之间不是同一个 request 对象, 不可以共享经典现实案例: 我三四我三四“玩转”Java 系列9【更多 Java Android 资料下载,可访问尚硅谷(中国)官网 下载区】3.4. HTTP 请求的 GET 与 POST 方式的区别答: 可以从以下几个方面去回答:1. 携带请求参数的方式GET: 通过请求行携带参数, 参数会显示在地址栏POST: 通过请求体来携带参数,
12、 参数不会显示在地址栏2. 服务器端处理请求的方法GET: 会调用 Servlet 的 doGet()来处理请求POST: 会调用 Servlet 的 doPost()来处理请求3. 数据大小与安全性GET: 大小有限制 (小于 2k), 不安全POST: 大小没有限制, 安全3.5. 比较一下 Servlet 与 Filter1. Filter 是一种特别的 Servlet, 它们的作用是完全不一样的. Servlet 是用来处理请求的, 而 Filter 是用来过滤检查请求的 .经典现实案例: 假如我们要去坐地铁去天安门, 我们需要先在检票机上刷票后才能进站坐上地铁, 请求问: 在这个实际
13、业务中, 哪个是 Servlet?哪个是Filter 呢?4. Jsp 相关技术路线( 红线)此部分包括: JSP, EL, JSTL, My Tag, I18N, FileUpDown“玩转”Java 系列10【更多 Java Android 资料下载,可访问尚硅谷(中国)官网 下载区】3.1. jsp 有哪些内置对象 ?作用分别是什么 ? 答:JSP 共有以下 9 个内置的对象: request: 用户端请求,此请求会包含来自 GET/POST 请求的参数 response: 网页传回用户端的回应 pageContext: 网页的属性是在这里管理 session: 与请求有关的会话期 a
14、pplication: 与当前应用对应的 ServletContext 对象, 应用中只有一个 out: 用来传送回应的输出 config: 与 jsp 配置对象的对象, 一般无用 page: jsp 对应的 Servlet 对象 exception: 针对错误网页,未捕捉的异常对象3.2. jsp 有哪些动作 ?作用分别是什么 ? 答:JSP 共有以下 6 种基本动作 jsp:include:在页面被请求的时候引入一个文件。 jsp:forward:把请求转到一个新的页面。jsp:useBean:寻找或者实例化一个 JavaBean。 jsp:setProperty:设置 JavaBean 的属性。 jsp:getProperty:输出某个 JavaBean 的属性。 jsp:plugin:根据浏览器类型为 Java 插件生成 OBJECT 或 EMBED 标记