j2EE面试题
java面试题第II季<基础java JEE>
1.简述Java Server Page 和Servlet 的联系和区别?
Java Servlet是一个专门用于编写网络服务器应用程序的Java组件
2.jsp有哪些内置对象?作用分别是什么?
3.jsp有哪些动作?作用分别是什么?
4.在jsp页面间传递值可用哪些方法?
Cookie:客户端存储
Ceche:服务器缓存
ViewState:页面生命周期内
(Session:用户会话期内)
Application:程序生命期内
HiddenFiled:隐含域
DB:写数据库
File:和数据库类似,写文件
js:document.window.opener.getElementById()
5.说一说Servlet的生命周期? 有哪些方法?各在什么是否被调用和其含义?
servlet有良好的生存期的定义,包括加载和实例化、初始化、处理请求以及服务结束。这个生存期由javax.servlet.Servlet接口的init,service和destroy 方法表达。Servlet被服务器实例化后,容器运行其init方法,请求到达时运行其service方法,service方法自动派遣运行与请求对应的doXXX方法(doGet,doPost)等,当服务器决定将实例销毁的时候调用其destroy方法。与cgi的区别在于servlet处于服务器进程中,它通过多线程方式运行其service方法,一个实例可以服务于多个请求,并且其实例一般不会销毁,而CGI对每个请求都产生新的进程,服务完成后就销毁,所以效率上低于
servlet。
6.JA V A SERVLET API中forward( ) 与redirect( )的区别,在JSP开发中优先采用哪种方
式?
Forward
... Forward 由应用程序内部执行
... 浏览器完全不会识别到forward命令,因此原始的URL地址会被完好的保留下来.
... 当浏览器刷新的时候会向原始地址提交请求.
redirect
... redirect 分为两个步骤, 网络应用程序会指定浏览器获取第二个网址, 这个网址和原始的url是不同的.
... 当浏览器刷新时不会请求原始地址而是会返回被转移的网址.
... 由于redirect 需要两个步骤,因为执行起来比forward慢
总体说来,当能够保证安全的情况下应该采用forward. 否则应该采用redirect.
7.说出数据连接池的工作机制是什么?
J2EE服务器启动时会建立一定数量的池连接,并一直维持不少于此数目的池连接。客户端程序需要连接时,池驱动程序会返回一个未使用的池连接并将其表记为忙。如果当前没有空闲连接,池驱动程序就新建一定数量的连接,新建连接的数量有配置参数决定。当使用的池连接调用完成后,池驱动程序将此连接表记为空闲,其他调用就可以使用这个连接。
8.什么是JNDI,tomcat的JNDI接口与标准的java应用服务器有何区别?
是一个应用程序设计的API,为开发人员提供了查找和访问各种命名和目录服务的通用、统一的接口,类似JDBC都是构建在抽象层上。
9.请简要叙述Session工作原理?
10.JSP的会话默认维持多少时间?如想修改,有些什么手段修改?
11.Cookie的工作原理和种类,怎么进行转换,怎样通过cookie实现各浏览器面间的session
共享:
12.MVC架构中的M、V、C代表什么?
M 即Model(模型层),主要负责出来业务逻辑以及数据库的交互
V 即View(视图层),主要用于显示数据和提交数据
C 即Controller(控制器),主要是用作捕获请求并控制请求转发
13.列出Jsp中包含外部文件的方式,两者有何区别?
1:
2: <%@ include file="b.jsp">
区别1: page="b.jsp" >
14.EL是什么,它的隐式对象有哪些?
EL 提供了在JSP 脚本编制元素范围外使用运行时表达式的功能
pageContext,param,paramValues,header,headerValues,pageScope,requestScope,sessionScope,applicationScope
15.JSTL是什么,它的最新版本号是多少?
16.jsp的标准标签库分几类,其中核心标签又分几种?
17.你了解WEB SERVICE吗,如果了解请介绍你对WEB SERVICE的理解?
18.简单介绍你用什么实现组件开发WEB SERVICE?
19.什么是SOAP、WSDL、UDDI、ESB、BPEL?
20.SOA是一门语言吗?它与OOP是什么关系?
SOA是一个架构理念-OOP是一个编程理念
SOA是面向服务-OOP是面向对象
SOA不是语言是一种架构分类,这种架构是面向服务的以一项项服务为单位来进行扩展,一项服务有自己的一套API 方法,就像OOP是以object为单位,每一个类都有自己的属性和方法一样。SOA是抽象概念,具体实施可以用各种语言来实现
21.CGI是什么?它与servlet有什么关系?
22.在JavaWeb开发过程中经常会遇到乱码问题,一般你是如何解决的?
23.Tomcat6中能配多少个数据库连接池?
24.怎样把web工程部署到Tomcat中,在你以前的项目中一般是怎样处理的?
25.request对象getAttribute(String name)和getParamater(String name)的区别是什么?
26.JavaWeb开发中,你是怎样处理分页的,效率考虑?简要说明一下你分页处理的思路?
27.请你说说Struts的体系结构和处理请求的工作流程?
28.你是怎样整合SSH的?有几种方式?
29.请你说说Struts2的体系结构和OGNL?
30.struts与struts2有什么异同?
31.请简述Struts2与Strut1的异同?
32.Struts2中常见的拦截器有哪些?
33.在Struts2中怎样把请求分发给方法去处理?
34.请简述Struts2中自定义拦截器的步骤?
35.Struts2怎样整合spring?
36.怎样实现Struts2自定义转换器?
37.请谈谈表单验证的作用,你使用了哪些技术进行表单验证?
38.在你的学习中使用了什么组件进行上传和下载操作
39.根据你的理解,Spring是个怎样的框架?
40.Spring1.2和Spring2.0有些什么区别?
41.Spring容器基本的接口是什么?
42.什么是Spring的AOP,它的功能是什么?
43.Spring的AOP,中的切面(Aspect)/ 通知(Advice)/ 通知者(Advisor)/ 切点(Pointcut)
/ 织入Weaving)/目标(Target)各指什么?
44.请阐述Spring的IOC,有几种类型。
45.Aop中常见有哪些通知,怎样区别?
46.Spring管理事务有哪几种方式?
47.Spring的作用域有哪些?
48.相对于SQL,HQL查询语言有什么特点,什么是方言?
49.Hibernate3.1和Hibernate3.3的区别是什么?
50.软件开发中为什么要进行软件的配置管理?你用过什么版本控制系统?
51.在请简述软件开发生命周期中的各个阶段?
52.Hibernate架构,对象有三种状态,分别是什么,怎样区分?
53.Hibernate中什么是延迟加载,延迟的作用是什么?
54. 请问日志有什么作用,在项目中你是怎么处理日志的?
55. 你在java项目中此理过计划任务的调度吗?如有你是怎么处理的?
56. 你对UML了解吗?UML的动态图有哪些?类图和对象图有什么区别?
57. 什么是需求?为什么要进行需求管理?
58什么是软件项目的进度管理?简要介绍保证项目的进度的基本手段?
59软件开发中如何进行风险管理?