经典面试题(servletjs逻辑题)

上传人:平*** 文档编号:9915782 上传时间:2017-10-05 格式:DOC 页数:17 大小:55.03KB
返回 下载 相关 举报
经典面试题(servletjs逻辑题)_第1页
第1页 / 共17页
经典面试题(servletjs逻辑题)_第2页
第2页 / 共17页
经典面试题(servletjs逻辑题)_第3页
第3页 / 共17页
经典面试题(servletjs逻辑题)_第4页
第4页 / 共17页
经典面试题(servletjs逻辑题)_第5页
第5页 / 共17页
点击查看更多>>
资源描述

《经典面试题(servletjs逻辑题)》由会员分享,可在线阅读,更多相关《经典面试题(servletjs逻辑题)(17页珍藏版)》请在金锄头文库上搜索。

1、很显然,Servlet/JSP 的 WEB 前端动态制作的重要性比 HTML/CSS/JS的价值高很多,但我们都知道他们都是建立在 HTML 服务器端的技术 规范,JSP 是一种动态页面生成的技术,标签库的应用很广泛,面试遇到的几率也很大,而且对于比较复杂的页面,使用 JSP 来编写,更容易编写和维护。 本章主要分析 : 简单的 JSP/Servlet 方式和内容 、 Java面试逻辑题每天学一点,日积月累,四个月后的今天,你一定会有很大的收获!全程将为大家剖析几大部分内容,由于学习经验有限,望大家谅解并接受宝贵的意见: 基础概念部分 : 常出现的高频率单词的区别理解(异常、静态、抽象、接口、

2、集合等); 深入理解部分 : 重点掌握的面向对象的理论知识(对象、排序、字节字符流); 线程编程部分 :单独讲解线程概念、同异步实现方法及关系、线程锁等; 数据库理论归纳 : 总结 PL/SQL 语句,使用方法,归纳基本公式,深层次内容有待开发。 JDBC 和 XML 部分 : 重点分析 XML 的技术构成、应用方面的形式和区别。 Servlet 部分 :重点掌握生命周期和会话跟踪技术的知识点和一般的实现方法。 J S P 部分 : 对象、动作的分类和区别,跳转方法以及动静态 include 的区别。 JAVA 笔试逻辑题 : 逻辑题目的考验,目前企业应用也比较广泛,稍微了解下。 Servle

3、t 方面: 1、说一说 Servlet 的生命周期? 答:servlet 有良好的生存期的定义,包括加载和实例化、初始化、处理请求以及服务结束。 这个生存期由 javax.servlet.Servlet 接口的 init,service 和destroy 方法表达。 2、servlet 的生命周期答: web 容器加载 servlet,生命周期开始。通过调用 servlet 的 init()方法进行 servlet 的初始化。 通过调用 service()方法实现,根据请求的不同调用不同的 do*()方法。 结束服务,web 容器调用 servlet 的 destroy()方法。 3、Serv

4、let 的基本架构 public class ServletName extends HttpServlet public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException 4、什么情况下调用 doGet()和

5、 doPost()?答:Jsp 页面中的 form 标签里的 method 属性为 get 时调用 doGet(),为 post 时调用 doPost()。 5、如何现实 servlet 的单线程模式答: 6、页面间对象传递的方法答:request,session ,application,cookie 等 7、JSP 和 Servlet 有哪些相同点和不同点,他们之间的联系是什么? 答:JSP 是 Servlet 技术的扩展,本质上是 Servlet 的简易方式,更强调应用的外表表达。JSP 编译后是类 servlet。Servlet 和 JSP最主要的不同点在于,Servlet 的应用逻辑

6、是在 Java 文件中,并且完全从表示层中的 HTML 里分离开来。而 JSP 的情况是 Java 和HTML 可以组合成一个扩展名为.jsp 的文件。JSP 侧重于视图,Servlet 主要用于控制逻辑。 8、四种会话跟踪技术(重要考点)答:会话作用域 ServletsJSP 页面描述page 是代表与一个页面相关的对象和属性。 一个页面由一个编译好的 Java servlet 类(可以带有任何的 include指令,但是没有 include 动作)表示。 这既包括 servlet 又包括被编译成 servlet 的 JSP 页面。request 是代表与 Web 客户机发出的一个请求相关的

7、对象和属性。 一个请求可能跨越多个页面,涉及多个 Web 组件(由于 forward 指令和 include 动作的关系)。session 是代表与用于某个 Web 客户机的一个用户体验相关的对象和属性。一个 Web 会话可以也经常会跨越多个客户机请求。application 是代表与整个 Web 应用程序相关的对象和属性。这实质上是跨越整个 Web 应用程序,包括多个页面、请求和会话的一个全局作用域。 9、Servlet 执行时一般实现哪几个方法?答:public void init(ServletConfig config)public ServletConfig getServletCo

8、nfig()public String getServletInfo()public void service(ServletRequest request,ServletResponse response)public void destroy() JSP 方面: 1、jsp 是如何执行的? 答:阶段一:容器要将 JSP 文件转换成一个对应的 servlet 类 html(css,javascript) service 方法里,用 out.write 输出(write 方法会将 null 转换为 )。 jsp 代码片段 把 service 方法里的内容,照搬过来。 也会放到 service

9、方法里,使用out.print 输出。 给 Servlet 添加新的属性或者新的方法(转成.java 文件后,声明内的部分添加在 service 方法之外)。 这样就把一个 JSP 变成了一个 Servlet 容器 注意事项:out.writer 方法只能输出简单的字符串,对象是没法输出的。优点是把 null 自动转换成空字符串输出。 如: 不能用 writer 阶段二:容器会将 servlet 编译、实例化、初始化、然后执行service 方法。(实例化、初始化、就绪、销毁) 2、指令? 1)指令是什么 通知容器,在将.jsp 文件转换成.java 文件时,作一些额外的处理,比如导包。 2)

10、指令的语法 3)page 指令 import 属性:导包。 例如: 如: contentType 属性:设置 response.setCharacterEncoding()的内容。 pageEncoding 属性:告诉容器 JSP 文件的编码格式。 如: 4)如何转发step1:绑定数据到 requset:request 里有个 HashMap。request.setAttribute(String name,Object obj);/name:绑定名。obj:绑定值。另一个方法获取绑定值: Object request.getAttribute(String name);/如果绑定对象的值不

11、存在,会返回 nullstep2:获得一个转发器:url:要转发给哪一个 Web 组件RequestDispatcher rd=request.getRequsetDispatcher(String url);step3:转发rd.forward(request,response);/JSP 和 Servlet 会共享相同的请求和响应对象step4:在转发的目的地,可以使用 request.getAttribute 方法获得绑定的数据,然后进行处理。3、jsp 有哪些内置对象?作用分别是什么? 答:JSP 共有以下 9 种基本内置组件(可与 ASP 的 6 种内部组件相对应): request

12、 用户端请求,此请求会包含来自 GET/POST 请求的参数 response 网页传回用户端的回应 pageContext 网页的属性是在这里管理 session 与请求有关的会话期 application servlet 正在执行的内容 out 用来传送回应的输出 config servlet 的构架部件 page JSP 网页本身 exception 针对错误网页,未捕捉的例外 4、jsp 有哪些动作?作用分别是什么? 答:JSP 共有以下 6 种基本动作 jsp:include:在页面被请求的时候引入一个文件。 jsp:useBean:寻找或者实例化一个 JavaBean。 jsp:s

13、etProperty:设置 JavaBean 的属性。 jsp:getProperty:输出某个 JavaBean 的属性。 jsp:forward:把请求转到一个新的页面。 jsp:plugin:根据浏览器类型为 Java 插件生成 OBJECT 或 EMBED 标记 5、JSP 中动态 INCLUDE 与静态 INCLUDE 的区别? 答:动态 INCLUDE 用 jsp:include 动作实现 它总是会检查所含文件中的变化,适合用于包含动态页面,并且可以带参数 静态 INCLUDE 用 include 伪码实现,定不会检查所含文件的变化,适用于包含静态页面 6、两种跳转方式分别是什么?

14、有什么区别? 答:有两种,分别为: 前者页面不会转向 include 所指的页面,只是显示该页的结果,主页面还是原来的页面。执行完后还会回来,相当于函数调用。并且可以带参数.后者完全转向新页面,不会再回来。相当于 go to 语句。 Java 笔试逻辑题: 1.一个 11L 的杯子一个 7L 的杯子怎么量出 2L 的水? 解析: 11L 装满,往 7L 的倒,把 7L 倒满,剩 4L,吧 7L 的倒空;4L 倒进 7L 里,11L 装满再往 7L 倒,倒满,剩 8L;7L 清空,8L 倒进去,得到 1L;1L 和 7L 得到 6L;6L 和 11L 得到 5L;5L 和 7L 得到 2L。反过

15、来 在 7L 里装满 往 11L 里倒 , 道理是一样的! 同类题比较: 假设有一个池塘,里面有无穷多的水。现有 2 个空水壶,容积分别为 5 升和 6 升。 问题是如何只用这 2 个水壶从池塘里取得 3 升的水。 2.飞机问题每架飞机只有一个油箱,一箱油可以飞地球半圈。飞机间可以相互加油,所有飞机从同一个机场起飞。 要想使一架飞机安全飞地球一圈,回到起飞的机场。需要至少出动几架飞机。 解析: 6 架足矣。3 架飞机 A、B、C 同时起飞,同向而行。飞至 1/8 航程(绕地球一周)处,正好耗去 1/4 燃油,其中 1 架飞机 A 将 21/4 油箱燃油分加至的飞机 B、C 油箱中,然后带 1/

16、4 燃油正好能安全返航。此时飞机 B、C 油箱是满的。剩下 2 架飞机继续飞行 1/8 航程,也就是 1/4 航程处,此时飞机B、C 还有 3/4 油箱的燃油。飞机 B 将 1/4 油箱的燃油加至飞机 C,飞机 B 剩下 1/2 油箱燃油返航,飞机 C 为满油箱,继续做环球飞行,能飞至 3/4 航程处。飞机 C 飞至 1/2 航程处,由同一机场同时起飞 3 架飞机 D、E、F,与飞机 A、B、C 反方向飞行。飞机 D、E、F 逆向飞行 1/8 航程时,飞机 D 将 21/4 油箱燃油分加至飞机 E、F 中返航,飞机 E、F 为满油箱,再向前 1/8 航程,也就是逆向的 1/4 航程、正向的 3

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 中学教育 > 试题/考题

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号