J2EE简答题及答案
j2ee考试题及答案
J2EE考试题及答案
一、概述
本文档收集了一些J2EE考试题与相应的答案。
这些问题涵盖了
J2EE的不同方面,包括Servlet、JSP、EJB、Web服务等。
下面依次列出各个部分的考试题目及答案。
二、Servlet
1. Servlet的生命周期是什么?
答案:
Servlet的生命周期包括以下4个阶段:
1.实例化:当容器接收到对Servlet的请求时,会创建Servlet的实例。
2.初始化:在创建完实例后,容器会调用init方法对Servlet进行初始化。
这个方法只会在Servlet的生命周期中被调用一次。
3.服务处理:一旦初始化完成,Servlet就可以处理来自客户端的请求。
容器会多次调用Servlet的service方法来处理不同的请求。
4.销毁:当容器关闭或发生其他终止条件时,容器会调用destroy 方法销毁Servlet实例。
在销毁之前,容器会先调用Servlet的destroy方法进行一些清理工作。
2. Servlet的线程模型是什么?答案:
Servlet的线程模型是。
j2ee考试题及答案ejb
j2ee考试题及答案ejb1. 什么是EJB(Enterprise JavaBeans)?EJB是一种服务器端组件架构,用于开发和部署多层结构的、分布式的、面向对象的Java应用程序。
EJB组件提供了一种结构化的方法来创建可重用的、可伸缩的和事务性的业务逻辑。
2. EJB有哪些类型?EJB主要有三种类型:会话Bean(Session Beans)、实体Bean(Entity Beans)和消息驱动Bean(Message-Driven Beans)。
3. 会话Bean(Session Beans)的作用是什么?会话Bean代表与客户端的短暂交互,它们通常用于实现应用程序的业务逻辑,但不保存数据。
会话Bean可以是无状态的(Stateless)或有状态的(Stateful)。
4. 实体Bean(Entity Beans)和会话Bean(Session Beans)有什么区别?实体Bean代表业务实体,通常与数据库中的持久数据相关联,而会话Bean代表与客户端的短暂交互,不直接与持久数据关联。
5. 消息驱动Bean(Message-Driven Beans)的主要功能是什么?消息驱动Bean是一种特殊的EJB,用于处理来自消息队列的消息。
它们是无状态的,并且可以异步处理消息,这使得它们非常适合处理大量消息。
6. EJB容器提供哪些服务?EJB容器提供多种服务,包括事务管理、安全性、持久性、生命周期管理、并发控制和资源池。
7. EJB的事务属性有哪些?EJB的事务属性包括:Required、RequiresNew、Mandatory、Never、NotSupported和Supports。
8. 如何在EJB中处理异常?在EJB中,可以通过声明异常(declarative exception handling)和编程异常(programmatic exception handling)两种方式来处理异常。
J2EE34道复习题答案
1、简述J2EE的四层模型。
(1)运行在客户端机器上的客户层组件(2)运行在J2EE服务器上的Web层组件(3)运行在J2EE服务器上的业务逻辑层组件(4)运行在EIS服务器上的企业信息系统(Enterprise information system)层软件2、什么是对象持久化?即把数据(如内存中的对象)保存到可永久保存的存储设备中(如磁盘)。
3、简述一下OR MAPPING,为什么我们使用它?ORM(Object Relational Mapping)是一种为了解决面向对象与关系型数据库存在的互不匹配的现象的技术。
简单说:ORM是通过使用描述对象和数据库之间映射的元数据,将Java程序中的对象自动持久化到关系数据中。
本质上就是将数据从一种形式转换到另外一种形式。
原因:用它来架起对象和关系型数据库的桥梁,可解决对象层次的映射、对象关系的映射以及对象的持久化问题。
4、简述一下如何使用Hibernate实现对象持久化的过程(可画图或用伪码描述)STEP 1:创建Configuration对象。
在这一步中主要为了进行配置文件的装载操作,读取所有的配置文件并进行解析STEP 2: 创建SessionFactory对象。
通过创建好的Configuration对象可以创建一个sessionFactory对象的实例,同时是生成Session对象实例的工厂,他在整个应用中应该是唯一的。
STEP 3:创建Session对象。
Session对象类似于数据库的连接对象,可以理解为与数据库建立的一个连接,但是他的功能要比JDBC中的Connection对象丰富很多。
STEP 4:开始一个事务。
在Java中定义一个事务操作的开始,这是使用Hibernate进行持久化操作必不可少的步骤STEP 5:进行持久化操作。
在这个步骤中可以读取或者保存Java对象。
STEP 6:结束事务。
在操作完成之后还要进行显式的结束事务的操作。
《J2EE架构与开发》期末考试简答题答案
《J2EE架构与开发》期末考试简答题答案⼀、请简述Web的⼯作原理。
⼆、HTML的标签有两个重要的属性action和method,这两个属性的作⽤是什么?type属性和name属性的作⽤是什么?答:action:接收表单数据的服务器端程序或动态⽹页的URL地址。
method:表单数据传输到服务器的⽅法。
其属性值如下:post:在HTTP请求中嵌⼊表单数据。
get:将表单数据附加到请求该页的URL中。
type:所属类型name:单⾏⽂本框的名称,通过它可以在脚本中引⽤该⽂本框控件。
三、JSP有哪些内置对象?作⽤分别是什么?答:page对象:page对象代表JSP页⾯本⾝,是this引⽤的⼀个代名词。
对JSP页⾯创建者通常不可访问,所以⼀般很少⽤到该对象。
config对象:config对象是ServletConfig类的⼀个对象,存放着⼀些Servlet初始化信息,且只有在JSP页⾯范围内才有效。
其常⽤⽅法如下:getInitParameter(name):取得指定名字的Servlet初始化参数值。
getInitParameterNames():取得Servlet初始化参数列表,返回⼀个枚举实例。
getServletContext():取得Servlet上下⽂(ServletContext)。
getServletName():取得⽣成的Servlet的名字。
out对象:JSP页⾯的主要⽬的是动态产⽣客户端需要的HTML结果,前⾯已经⽤过out.print()和out.println()来输出结果。
此外out对象还提供了⼀些其他⽅法来控制管理输出缓冲区和输出流。
例如,要获得当前缓存区⼤⼩可以⽤下⾯的语句:out.getBufferSize();要获得剩余缓存区⼤⼩应为:out.getRemaining();response对象:response对象实现HttpServletResponse接⼝,可以对客户的请求做出动态的响应,向客户端发送数据request对象:session对象:application对象:pageContext对象:exception对象:exception对象⽤来处理JSP⽂件在执⾏时所发⽣的错误和异常。
J2EE笔试题目及答案
J2EE笔试题目及答案1、heap和stack有什么区别?答:栈是一种线形集合,其添加和删除元素的操作应在同一段完成。
栈按照后进先出的方式进行处理。
堆是栈的一个组成元素2、Java中的异常处理机制的简单原理和应用答:当JAVA程序违反了JAVA的语义规则时,JAVA虚拟机就会将发生的错误表示为一个异常。
违反语义规则包括2种情况。
一种是JAVA类库内置的语义检查。
例如数组下标越界,会引发IndexOutOfBoundsException;访问null的对象时会引发 NullPointerException。
另一种情况就是JAVA允许程序员扩展这种语义检查,程序员可以创建自己的异常,并自由选择在何时用 throw关键字引发异常。
所有的异常都是ng.Thowable的子类。
3、垃圾回收的优点和原理。
并考虑2种回收机制答:Java语言中一个显著的特点就是引入了垃圾回收机制,使c++程序员最头疼的内存管理的问题迎刃而解,它使得Java程序员在编写程序的时候不再需要考虑内存管理。
由于有个垃圾回收机制,Java中的对象不再有"作用域"的概念,只有对象的引用才有"作用域"。
垃圾回收可以有效的防止内存泄露,有效的使用可以使用的内存。
垃圾回收器通常是作为一个单独的低级别的线程运行,不可预知的情况下对内存堆中已经死亡的或者长时间没有使用的对象进行清楚和回收,程序员不能实时的调用垃圾回收器对某个对象或所有对象进行垃圾回收。
回收机制有分代复制垃圾回收和标记垃圾回收,增量垃圾回收。
4、你所知道的集合类都有哪些?主要方法?答:最常用的集合类是 List 和 Map。
List 的具体实现包括 ArrayList 和 Vector,它们是可变大小的列表,比较适合构建、存储和操作任何类型对象的元素列表。
List 适用于按数值索引访问元素的情形。
Map 提供了一个更通用的元素存储方法。
Map 集合类用于存储元素对(称作"键"和"值"),其中每个键映射到一个值。
J2EE简答题复习(含答案)
J2EE简答题复习(含答案)1、forward和sendRedirect的区别forward是request的方法,sendRedirect是response的方法,使用forward延续之前的请求,地址栏地址不会转变,使用sendRedirect会开启新的请求,地址栏地址转换2、视图层调用了服务层好不好,该怎么办?不好,因为视图层和服务层之间还有控制层,不应该越级调用3、Service层的简介在内存中以对象的形式处理业务逻辑4、有人认为MVC模式对M的支持很弱,为什么?因为mvc模式的m中,只有对象的get、set和validate方法,只支持领域对象,广义上的m应该包括实体对象和服务对象5、普通的Action只有一个execute()方法,有何缺点,如何改进?只有一个execute()方法导致类的数目太多改进:把一个execute()方法变成多个方法,在url中加入某变量,在配置文件中设置参数,告知核心控制器调用哪个方法6、AOP能代替OOP吗?不能。
AOP侧重实现功能,而OOP侧重对象,AOP实现多种功能,并把这些功能植入各个对象,不能代替,应该两种结合起来使用7、何谓IOC控制反转,也叫DI,依赖注入,由容器为类注入某些对象,在配置文件中配置,类的实例要向容器申请。
8、Struts中自定义控制器的方法execute()的参数及解释public ActionForward execute(ActionMapping mapping,ActionForm form,HttpServletRequest request,HttpServletResponse response) {return mapping.findForward("error");}ActionMapping 作用就是帮助控制其将请求映射到操作ActionForm 作用就是接受和存储表单form中接受的数据(相当于bean)Request 请求Response 回复9、如何引入struts下载struts的jar包,在web.xml中以servlet的方式配置该类,来映射到某些类10、servletContext能否做购物车能,但是这种做法不提倡,servletContext相当于jsp中的application,会涵括整个项目的所有人的购物车信息,会使得结构复杂,对服务器而言,负担比较大1。
J2EE简答题及答案
1、简述J2EE的四层模型。
运行在客户端机器上的客户层组件运行在J2EE服务器上的Web层组件运行在J2EE服务器上的业务逻辑层组件运行在EIS服务器上的企业信息系统(Enterprise information system)层软件2、什么是对象持久化?即把数据(如内存中的对象)保存到可永久保存的存储设备中(如磁盘)。
3、简述一下OR MAPPING,为什么我们使用它?ORM(Object Relational Mapping)---是一种为了解决面向对象与关系型数据库存在的互不匹配的现象的技术。
简单说:ORM是通过使用描述对象和数据库之间映射的元数据,将Java 程序中的对象自动持久化到关系数据中。
本质上就是将数据从一种形式转换到另外一种形式。
原因:用它来架起对象和关系型数据库的桥梁,可解决对象层次的映射、对象关系的映射以及对象的持久化问题。
4、简述一下如何使用Hibernate实现对象持久化的过程(可画图或用伪码描述)STEP 1:创建Configuration对象。
在这一步中主要为了进行配置文件的装载操作,读取所有的配置文件并进行解析STEP 2: 创建SessionFactory对象。
通过创建好的Configuration对象可以创建一个sessionFactory对象的实例,同时是生成Session对象实例的工厂,他在整个应用中应该是唯一的。
STEP 3:创建Session对象。
Session对象类似于数据库的连接对象,可以理解为与数据库建立的一个连接,但是他的功能要比JDBC中的Connection对象丰富很多。
STEP 4:开始一个事务。
在Java中定义一个事务操作的开始,这是使用Hibernate进行持久化操作必不可少的步骤STEP 5:进行持久化操作。
在这个步骤中可以读取或者保存Java对象。
STEP 6:结束事务。
在操作完成之后还要进行显式的结束事务的操作。
STEP 7:关闭Session。
J2EEWeb考试试题及答案
J2EEWeb考试试题及答案1、JSP技术是一种在WEB应用中开发动态交互性网页的技术,请阐述一下JSP技术的优缺点?JSP技术具备了Java技术的简单易用、完全面向对象、具有平台无关性且安全可靠、主要面向Internet的所有特点。
JSP的技术优势:(1)一次编写、到处运行。
(2)系统的多平台支持。
(3)强大的可伸缩性。
(4)多样化和功能强大的开发工具支持。
JSP的技术弱势:(1)正式由于为了跨平台的功能,为了极度的伸缩能力,所以极大地增加了产品的复杂性。
(2)Java的运行速度是用class对象常驻内存来完成的,所以需要计算机系统有足够的内存来保证程序的运行。
2、请简述JSP的工作原理。
当JSP页面第一次被Java服务器调用时,通过JSP引擎自动被编译成Servlet,然后被执行,以后每次调用时,执行编译过的Servlet。
将执行的结果在客户端显示出来。
3、在JSP的动作元素中,标签允许包含两种文件:动态文件和静态文件,在服务器对这两种文件进行解析执行时,有什么异同点。
标签允许包含动态文件和静态文件,但是这两种包含文件的结果是不同的.。
如果文件仅仅是静态文件,那么这种包含仅仅是把包含文件的内容加到JSP文件中去,这种被包含文件不会被JSP编译器执行。
相反地,如果这个被包含文件是动态的文件,那么这个被包含文件将会被JSP编译器执行。
4、在WEB页面中我们常有的页面重定向技术有那些?在Servlet 中,我们如何实现页面转发?5、请写出使用JDBC技术连接SQLServer数据库时,建立连接对象(Connection)以及建立语句集对象(Statement)的JAVA代码。
Connectionconnection;Statementstatement;StringsourceURL="jdbc:microsoft:sqlserver://127.0.0.1:14 33;DatabaseName=你的数据库的名字";StringUserName=你的数据库用户名;StringPassword=你的数据库的访问密码;publicDatabaseConnection(){try{Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDri ver");connection=DriverManager.getConnection(sourceURL,UserNam e,Password);statement=connection.createStatement();}catch(SQLExceptionsqle){System.err.println("Errorcreatingconnection");}catch(ClassNotFoundExceptioncnfe){System.err.println(cnfe.toString());}}6、请比较并简述利用JSP+JavaBean模式进行开发和利用JSP+Servlet+JavaBean模式进行开发有什么异同?有什么优缺点?(1)使用JSP+JavaBean模式开发项目时,JSP页面独自响应请求并经处理后把结果返回给客户端;JavaBean负责处理业务逻辑。
J2EE简答题参考答案
1.什么事Servlet?什么是Servlet容器?它的主要作用是什么?答:1.Servlet 是一种在服务器上执行的 Java 技术组件。
2.Web 容器是一种运行时环境,管理 Web 应用程序的组件,如 Servlet、JSP Pages、筛选器和 Web 事件侦听器。
3. a.通信支持b.生命周期管理c.多线程支持d.声明性安全e.JSP 支持2.Web应用程序的部署描述文件名是什么?它是什么类型的文件?应该存放在什么目录中?答:1.war2.jar文件3.webapps3.什么是404错误?答:请求资源不存在服务器找不到指定的资源,请求的网页不存在。
4.什么是JSP页面?它与HTML页面有什么关系?答:在HTML中插入JAVA程序段和JSP标记.JSP页面是实现HTML页面嵌入代码和使用模板数据的一种技术。
HTML是JSP的基础,JSP在HTML中添加JAVA程序使原本静态网页变成动态网页.5.Servlet和JSP各适用什么场合?答:前者适合做逻辑处理,后者适合做页面呈现.6.简述Servlet的生命周期,生命周期方法有那几个?答:1.加载Servlet类2.创建Servlet实例3.调用init方法4.调用service方法5.调用destory方法Init service destory7.GET请求和POST请求有什么不同?答:前者:表单数据包含在HTTP请求的URL中,包含数据量较小后者:表单数据包含在HTTP请求的请求体中,包含数据量较大8.有哪几个作用域对象?如何在这些对象上设置获得属性?在什么作用域中对象可以被Servlet容器的所有的Web应用程序访问?答:requestsessioncontext设置: 对象.setAttribute(“key”,value)获取:对象.get Attribute(“key”)context9.JSP有哪些内置对象?分别有什么作用?答:10.试述JSP的工作方式。
J2EE简答题
二.简答题:1.JSP中INCLUDE动作与INCLUDE指令异同点?1.include指令include可以在JSP页面转换成Servlet之前,将JSP代码插入其中。
它的主要优点是功能强大,所包含的代码可以含有总体上影响主页面的JSP构造,比如属性、方法的定义和文档类型的设定。
它的缺点是难于维护只要被包含的页面发生更改,就得更改主页面,这是因为主页面不会自动地查看被包含的页面是否发生更改。
语法:<%@ include file="sample.jsp" %>2.include动作jsp:include动作是在主页面被请求时,将次级页面的输出包含进来。
尽管被包含的页面的输出中不能含有JSP,但这些页面可以是其他资源所产生的结果。
服务器按照正常的方式对指向被包含资源的URL进行解释,因而这个URL可以是Servlet或JSP页面。
服务器以通常的方式运行被包含的页面,将产生的输出放到主页面中,这种方式与RequestDispatcher 类的include方法一致。
它的优点是在被包含的页面发生更改时,无须对主页面做出修改。
它的缺点是所包含的是次级页面的输出,而非次级页面的实际代码,所以在被包含的页面中不能使用任何有可能在整体上影响主页面的JSP构造。
语法:<jsp:include page="sample.jsp" flush="true"> <jsp:param name="name" value="value"/> </jsp:include>其中参数设置可以没有,如果没有参数设置,则必须采用<jsp:include page="sample.jsp" flush="true"/>形式3. 两者的主要区别jsp:include动作和include指令之间的根本性的不同在于它们被调用的时间。
J2EE简答题
2、JSP的常用指令3、说出Servlet的生命周期,并说出Servlet和CGI的区别。
4、什么情况下调用doGet()和doPost()?5、forward 和redirect的区别6、JSP中动态INCLUDE与静态INCLUDE的区别?7、页面间对象传递的方法8、JSP和Servlet有哪些相同点和不同点,他们之间的联系是什么?9、我们在web应用开发过程中经常遇到输出某种编码的字符,如iso8859-1等,如何输出一个某种编码的字符串(GET 请求)?10、JSP有哪些动作?作用分别是什么?11、在JSP中下面的两种跳转方式有什么区别?(1)out对象是javax.jsp.JspWriter的一个实例,并提供了几个方法使你能用于向浏览器回送输出结果。
(2)request表示HttpServletRequest对象。
它包含了有关浏览器请求的信息,并且提供了几个用于获取cookie, header, 和session数据的有用的方法。
(3)response表示HttpServletResponse对象,并提供了几个用于设置送回浏览器的响应的方法(如cookies,头信息等)(4)session表示一个请求的javax.servlet.http.HttpSession对象。
Session可以存贮用户的状态信息(5)applicaton 表示一个javax.servle.ServletContext对象。
这有助于查找有关servlet引擎和servlet环境的信息(6)page表示从该页面产生的一个servlet实例(7)pageContext表示一个javax.servlet.jsp.PageContext对象。
它是用于方便存取各种范围的名字空间、servlet相关的对象的API,并且包装了通用的servlet相关功能的方法。
(8)config表示一个javax.servlet.ServletConfig对象。
j2ee考试题汇总
j2ee考试题汇总2. 下面( )声明当前页为error页A.<%@ page errorPage="true" %>B.<%@ page info="error" %>C.<%@ page pageEndcoding="error" %>D.<%@ page isErrorPage="true" %>★标准答案:D3. Java Web应用中往往通过设置不同作用域的属性来达到通讯的目的。
如果某个对象只在同一请求中共享,通过调用哪个类的setAttribute方法设置属性,B. ServletRequestListenerC. HttpSession★标准答案:C6. executeUpdate返回的类型是A. intD.受影响的记录数量★标准答案:A7. Oracle数据库的JDBC驱动程序类名及完整包路径为★标准答案:D8. JSP中可使用一些隐含对象,通过什么可以访问浏览器输入的参数A. paramB. requestScopeC. sessionScope★标准答案:A11. 开发者编写带属性的bean类,以表示动画的协调。
为允许目标应用访问和改变此属性,开发者必须编写什么方法()()方法() 方法.和mutator 方法.() 方法和 setAsText()方法.★标准答案:C12. JavaBean作为( )文件分发。
A..jarB..mftC..javaD..class★标准答案:A13. 什么是远程接口( )A.这样的接口,它监听客户调用的远程方法调用并重定向对服务器上的远程RMI服务器的调用。
B.用唯一名注册的远程对象的接口。
C.其声明的方法可被客户远程地调用的接口。
D.声明和定义了可被客户远程地调用的方法的接口。
★标准答案:C14. HttpServlet 类的( )方法处理HTTP POST 请求(ServletRequest, ServletResponse)(HttpServletRequest, HttpServletResponse)(HttpServletRequest, HttpServletResponse)(ServletRequest, ServletResponse)★标准答案:C15. 用以下方法中哪一个把目标应用作为bean 激活的定制事件的监听者(listener)注册( )AaddPropertyChangeListener()firePropertyChange()()addXXXListener()★标准答案:D16. 下面的( )代码加到doGet()方法中,可以正确的计算一个用户的GET请求session = ();int count = (int) ("count");("count", count++);session = ();int count = ((Integer) ("count")).intValue();("count", count++);session = ();int count = ("count");("count", count++);session = ();int count = ((Integer) ("count")).intValue();("count", new Integer(count++));"★标准答案:D17. 下列哪个接口用于获取关于数据库的信息()。
J2EE经典面试试题及答案
J2EE经典面试试题及答案J2EE经典面试试题及答案1、垃圾回收的优点和原理。
Java语言中一个显著的特点就是引入了垃圾回收机制,使c++程序员最头疼的内存管理的问题迎刃而解,它使得Java程序员在编写程序的时候不再需要考虑内存管理。
由于有个垃圾回收机制,Java中的对象不再有“作用域”的概念,只有对象的引用才有“作用域”。
垃圾回收可以有效的防止内存泄露,有效的使用可以使用的内存。
垃圾回收器通常是作为一个单独的低级别的线程运行,不可预知的情况下对内存堆中已经死亡的或者长时间没有使用的对象进行清楚和回收,程序员不能实时的调用垃圾回收器对某个对象或所有对象进行垃圾回收。
2、请说出你所知道的线程同步的方法。
wait():使一个线程处于等待状态,并且释放所持有的对象的lock。
sleep():使一个正在运行的线程处于睡眠状态,是一个静态方法,调用此方法要捕捉InterruptedE某ception异常。
notify():唤醒一个处于等待状态的线程,注意的是在调用此方法的时候,并不能确切的唤醒某一个等待状态的线程,而是由JVM确定唤醒哪个线程,而且不是按优先级。
Allnotity():唤醒所有处入等待状态的线程,注意并不是给所有唤醒线程一个对象的锁,而是让它们竞争。
3、在java中一个类被声明为final类型,表示了什么意思?表示该类不能被继承,是顶级类。
4、 Error与E某ception有什么区别?Error表示系统级的错误和程序不必处理的异常,E某ception表示需要捕捉或者需要程序进行处理的异常。
5、&和&&的区别。
&是位运算符。
&&是布尔逻辑运算符。
6、Collection 和 Collections的区别。
Collections是个java.util下的类,它包含有各种有关集合操作的静态方法。
Collection是个java.util下的接口,它是各种集合结构的父接口。
J2EE企业级架构试题+答案
一、选择题1、以下哪些框架属于ORMapping框架技术(C)(常见的ORM框架包括Hibernate、iBATIS、TopLink、Castor JDO、Apache OJB等)a)Struts b)Spring c)Hibernate d)MyBATIS2、下面针对Hibernate框架描述错误的是(D)a)Hibernate框架是一个ORMapping框架,可以完成对象与表之间的映射关系b)Hibernate的映射关系只能由XML来完成c)Hibernate框架中用来作为数据库连接操作的核心对象是Sessiond)Hibernate中使用HQL语句可以完成针对数据的添加,修改,删除和查询功能3、以下针对Struts2框架描述错误的是(C)a)Struts2框架中接收参数是在Action类中完成的。
b)编写Struts2的Action类必须继承ActionSupport类c)Struts2的分发操作只能使用!来完成d)Struts2框架存在重大漏洞,在2.3以后的版本中才被修复4、以下框架或技术中与Struts2功能类似的框架是(D)a)Hibernate b)JDBC c)JSP/Servlet d)Spring MVC5、以下针对Spring框架描述正确的是(D)a)Spring框架是一个单独使用的框架,不需要结合其他框架技术来应用b)SpringMVC是前端框架,功能类似Struts框架c)SpringMVC需要编写xml配置文件来对Action类进行配置,自己编写的Action类必须继承ActionSupport类d)Spring框架结合Hibernate开发时,需要保留hibernate.cfg.xml配置文件,并在里面配置数据库连接相关的配置,由Hibernate来管理连接的关闭和事务处理。
6、以下关于IoC理解正确的是(C)a)控制反转b)一定要用接口c)通过<ref>来设置注入d)通过<value>来设置注入7、对Hibernate的支持主要用到了Spring的哪个模块?(C)a)Spring Core b)Spring IoC c)Spring ORMapping d)Spring Web MVC8、以下哪个不属于Hibernate中Session的方法?(D)a)save() b)delete() c)update() d)open()二、简答题1、列出Hibernate中常用的主键生成方式,并说明他们的作用(至少4种)1)assigned:通过程序添加。
J2EE试题附答案(8)
J2EE固定练习试卷1. 下面( )是正确的?A.<% String myString=request.getServerName() %>B.<%= "Hello" %>C.<%! String myString="Hello" %>D.<%= out.print("Hello") %>★标准答案:B2. 一个Java RMI应用,需要定位服务器myServer端口99上的myRemoteTest 远程对象,下面哪个RMI URL是正确的?A.rmi://99: myServer /myRemoteTestB.myServer:99/myRemoteTestC.rmi://myServer:99/myRemoteTestD.rmi:/myServer:99/myRemoteTest★标准答案:C3. <html><body><jsp:useBean id="address" class="Address Bean" /><jsp:setPropertyname="address" property="city" /><jsp:get Property name="address" property="city" /></body></html>如果用下面的URL访问,页面会输出什么结果?( )http://localhost:8080/ address.jsp?city=ChicagoA.Los AngelesB.ChicagoC.MiamiD.以上都不对★标准答案:B4. 考察以下:陈述A: RMI中, 存根(stub)是表示远程对象的客户端的代理。
.陈述B: RMI系统结构中,传输层负责建立新的连接和管理现有的连接。
一些J2EE习题及答案
alert
confirm
prompt
D
从HTTP请求中,获得请求参数,应该调用()。
request对象的getAttribute()方法
request对象的getParameter()方法
session对象的getAttribute()方法
session对象的getParameter()方法
表示访问的web应用的主机名是localhost,服务端口是8080端口
URL地址中包含了两个参数user与password
使用HTTP协议进行访问
使用POST请求方法
D
下列哪个状态码表示“Not Found无法找到指定位置的资源"?( )
100
201
400
404
D
如果没有指定Cookie的时效,那么默认的时效是( )
参数不能指定数据类型
没有指定返回类型
没有指定访问
Function不是方法声明的关键字
A
Servlet通过什么接口可以实现请求转发机制()。
RequestDispatcher接口
HttpServletRequest接口
HttpServletResponse接口
Filter接口
A
在javascipt中,window对象的哪个方法可以接受用户输入的数据?()
change——选择字段时触发的事件
D
Servlet中,HttpServletResponse的()方法用来把一个Http请求重定向到另外的URL。
sendURL()
redirectURL()
sendRedirect()
redirectResponse()
C
j2ee考试题
j2ee考试题J2EE(Java 2 Platform, Enterprise Edition)是一种开发和部署企业级应用程序的Java平台。
它为开发人员提供了丰富的API和工具,用于构建大规模、分布式和安全的应用程序。
本文将介绍J2EE考试题,并提供答案和解析。
1. 什么是J2EE平台?J2EE平台是Java的一个企业级规范,用于开发分布式、可扩展和可维护的企业应用程序。
它包括一系列的API和技术,如Servlet、JavaServer Pages(JSP)、Enterprise JavaBeans(EJB)等。
J2EE平台提供了一种标准化的方式来构建和部署企业级应用程序。
2. J2EE平台的核心组件是什么?J2EE平台的核心组件包括Servlet、JSP和EJB。
Servlet用于处理HTTP请求和响应,JSP用于在Java代码中嵌入HTML,EJB用于实现业务逻辑和管理事务。
3. 解释J2EE中的MVC架构。
MVC(Model-View-Controller)是一种设计模式,用于将应用程序的逻辑分离为三个独立的部分:模型(Model)、视图(View)和控制器(Controller)。
在J2EE中,模型表示应用程序的数据和业务逻辑,视图用于呈现数据给用户,控制器处理用户的请求和更新模型。
4. J2EE应用程序可以部署在哪些容器中?J2EE应用程序可以部署在Web容器和EJB容器中。
Web容器负责运行Servlet和JSP,而EJB容器负责运行EJB组件。
这两个容器可以独立部署,也可以在同一个服务器上共享。
5. 什么是JDBC?JDBC(Java Database Connectivity)是Java用于连接和操作数据库的API。
它提供了一种标准化的方式来访问不同类型的数据库,并执行SQL语句。
JDBC可以通过JNDI(Java Naming and Directory Interface)在J2EE应用程序中使用。
j2ee框架期末考试题及答案
j2ee框架期末考试题及答案一、单项选择题(每题2分,共20分)1. J2EE的全称是什么?A. Java 2 Platform, Enterprise EditionB. Java 2 Platform, Standard EditionC. Java 2 Platform, Micro EditionD. Java 2 Platform, Mobile Edition答案:A2. 在J2EE中,以下哪个组件是用于表示业务逻辑的?A. ServletB. JSPC. EJBD. JDBC答案:C3. J2EE中,以下哪个是用于构建Web应用的核心技术?A. EJBB. JSPC. JDBCD. RMI答案:B4. 在J2EE中,以下哪个是用于数据库连接的API?A. JNDIB. JDBCC. RMID. JMS答案:B5. J2EE中,以下哪个是用于消息传递的API?A. JNDIC. JMSD. RMI答案:C6. 在J2EE中,以下哪个是用于查找和访问外部资源的API?A. JNDIB. JDBCC. JMSD. RMI答案:A7. J2EE中,以下哪个是用于创建Web服务的规范?A. EJBB. JSPC. JAX-WS答案:C8. 在J2EE中,以下哪个是用于事务管理的API?A. JTAB. JMSC. JDBCD. JNDI答案:A9. J2EE中,以下哪个是用于分布式对象访问的API?A. RMIB. JMSC. JDBCD. JNDI答案:A10. 在J2EE中,以下哪个是用于安全控制的API?A. JAASB. JMSC. JDBCD. JNDI答案:A二、多项选择题(每题3分,共15分)11. J2EE中,以下哪些组件可以作为Web组件?A. ServletB. EJBC. JSPD. JDBC答案:A, C12. 在J2EE中,以下哪些是企业级应用的组成部分?A. Web应用B. 企业信息系统C. 消息服务D. 数据库答案:A, B, C, D13. J2EE中,以下哪些是用于连接数据库的技术?A. JDBCB. JNDIC. EJBD. RMI答案:A, B14. 在J2EE中,以下哪些是用于分布式应用的技术?A. RMIB. JMSC. EJBD. JDBC答案:A, B, C15. J2EE中,以下哪些是用于事务控制的技术?A. JTAB. JMSC. EJBD. JDBC答案:A, C三、填空题(每题2分,共20分)16. J2EE的架构模型包括______层和______层。
J2EE测试(answer)
J2EE测试(answer)J2EE测试(answer)-zhangwei一、JAVA语言1、面向对象的三个基本特征答:继承、封装、多态2、方法重载和方法重写的概念和区别答:方法重载:方法名称相同但方法内的参数个数和参数类型不一样。
方法重写:在类的继承中,当子类的成员变量与父类的成员变量同名时,子类的成员变量会隐藏父类的成员变量;当子类的方法与父类的方法同名,参数列表、反回值类型相同时,子类的方法将覆盖父类的方法,当重写的方法在子类的对象被调用时,他总是参考在子类中的定义的方法就被隐藏。
3、接口和内部类、抽象类的特征答:接口:在一个类里,只有申明没有实现。
内部类:是在一个类的内部定义的一个类抽象类:是以abstract 定义的,里面至少有一个抽象方法。
4、文件读写的基本类答:File Reader 类和FileWriter类分别继承自Reader类和Writer类。
FileReader类用于读取文件,File Writer类用于将数据写入文件,这两各类在使用前,都必须要调用其构造方法创建相应的对象,然后调用相应的read()或write()方法。
5、串行化的注意事项以及如何实现串行化答:如果有循环引用是不可以串行化的。
对象输出流的WriteObject方法和对象输入流的ReadObect 方法6、线程的基本概念、线程的本状态以及状态之间的关系STOP(),*****()STOP的本意是中止一个线程。
中止的线程的问题根源不在于object locks,而是object的状态。
当stop()中止一个线程时,会释放线程持有的所有locks。
但你并不知道当时的代码正在做什么。
Suspend() 原意是暂时悬挂起一个线程对应的是resume()函数,用来恢复先前被悬挂起的线程。
它并不释放将被悬挂之线程所有的LOCKS。
7、线程的同步、如何实现线程的同步答:当两个或多个线程同时访问同一个变量,并且以个线程需要修改这个变量。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1、简述J2EE的四层模型。
运行在客户端机器上的客户层组件运行在J2EE服务器上的Web层组件运行在J2EE服务器上的业务逻辑层组件运行在EIS服务器上的企业信息系统层软件2、什么是对象持久化?即把数据(如内存中的对象)保存到可永久保存的存储设备中(如磁盘)。
持久化的主要应用是将内存中的数据存储在关系型的数据库中,当然也可以存储在磁盘文件中、XML数据文件中等等。
3、简述一下ORMAPPING,为什么我们使用它?ORM(Object Relational Mapping)是一种为了解决面向对象与关系型数据库存在的互不匹配的现象的技术。
简单说:ORM是通过使用描述对象和数据库之间映射的元数据,将Java程序中的对象自动持久化到关系数据中。
本质上就是将数据从一种形式转换到另外一种形式。
原因:用它来架起对象和关系型数据库的桥梁,可解决对象层次的映射、对象关系的映射以及对象的持久化问题。
4、简述一下如何使用Hibernate实现对象持久化的过程(可画图或用伪码描述)STEP 1:创建Configuration对象。
在这一步中主要为了进行配置文件的装载操作,读取所有的配置文件并进行解析STEP 2: 创建SessionFactory对象。
通过创建好的Configuration对象可以创建一个sessionFactory对象的实例,同时是生成Session对象实例的工厂,他在整个应用中应该是唯一的。
STEP 3:创建Session对象。
Session对象类似于数据库的连接对象,可以理解为与数据库建立的一个连接,但是他的功能要比JDBC中的Connection对象丰富很多。
STEP 4:开始一个事务。
在Java中定义一个事务操作的开始,这是使用Hibernate 进行持久化操作必不可少的步骤STEP 5:进行持久化操作。
在这个步骤中可以读取或者保存Java对象。
STEP 6:结束事务。
在操作完成之后还要进行显式的结束事务的操作。
STEP 7:关闭Session。
类似于释放数据库的连接。
5、为什么要实现序列化?1、序列化以某种存储形式使自定义对象持久化2、序列化将对象转换为可传输方式从一个地方传递到另一个地方3、序列化使程序更具维护性6、比较一下sessionFactory中的opensession()和getcurrentsession()方法。
1、getCurrentSession创建的session会和绑定到当前线程,而openSession不会。
2 、getCurrentSession创建的线程会在事务回滚或事物提交后自动关闭,而openSession必须手动关闭7、比较一下session中的load()和get()方法,以及如何保证每次都是从数据库读取而不是在缓存中读?load()和get()方法均可以根据指定的实体类和id从数据库读取记录,并返回与之对应的实体对象。
其区别在于:如果未能发现符合条件的记录,get方法返回null,而load方法会抛出一个ObjectNotFoundException。
Load方法可返回实体的代理类实例,而get方法永远直接返回实体类。
load方法可以充分利用内部缓存和二级缓存中的现有数据,而get方法则仅仅在内部缓存中进行数据查找,如没有发现对应数据,将越过二级缓存,直接调用SQL完成数据读取。
8、Action接受用户参数输入,主要有哪几种方式?我们常用的是哪一种?1.Action属性接收参数;2.Domain modal(域模型)接收参数;3.Modal driven接收参数。
常用第一种跟第二种9、在struts中实现一个action有哪几种方式?最常用的是哪种?1.定义一个普通的类,类中只要有一个public String execute()方法且返回一个字符串即可。
2.定义一个类,实现Action接口,xwork2.Action这个包的3继承xwork2.ActionSupport这个类。
最常用的是第三种10、在struts.xml中Result的type常用的有四种类型1)dispatcher 2)redirect 3)chain 4)redirectAction哪些是服务器跳转?哪些是客户端跳转?dispatcher和chain是服务器端跳转,所以客户端只发起一次请求redirect和redirectAction是客户端跳转,所以客户端发起两次请求。
11、j2ee是技术还是平台还是框架?它主要包含哪些技术,列举并简单描述2到3个技术?J2EE本身是一个标准,一个为企业分布式应用的开发提供的标准平台。
J2EE 也是一个框架,包括JDBC、JNDI、RMI、JMS、EJB、JTA等技术。
JDBC:是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。
RMI:RMI协议调用远程对象上的方法。
它使用了序列化方式在客户端和服务器端传递数据。
RMI是一种被EJB使用的更底层的协议。
12、MVC的各个部分都有哪些技术来实现?如何实现?MVC是Model-View-Controller的简写。
"Model" 代表的是应用的业务逻辑(通过JavaBean,EJB组件实现),"View" 是应用的表示面(由JSP页面产生),"Controller" 是提供应用的处理过程控制(一般是一个Servlet),通过这种设计模型把应用逻辑,处理过程和显示逻辑分成不同的组件实现。
这些组件可以进行交互和重用。
13、什么是JNDI?JNDI是SUN公司提供的一种标准的Java命名系统接口,JNDI提供统一的客户端API,通过不同的访问提供者接口JNDI SPI的实现,由管理者将JNDI API 映射为特定的命名服务和目录系统,使得Java应用程序可以和这些命名服务和目录服务之间进行交互。
14、举例并简单描述2到3种动态网页开发技术。
1、PHP,是英文超文本预处理语言Hypertext Preprocessor的缩写。
PHP 是一种HTML 内嵌式的语言,是一种在服务器端执行的嵌入HTML文档的脚本语言,语言的风格有类似于C语言,被广泛地运用。
2、ASP,它是微软公司开发的代替CGI脚本程序的一种应用,它可以与数据库和其它程序进行交互,是一种简单、方便的编程工具。
ASP的网页文件的格式是.asp,现在常用于各种动态网站中。
15、简单描述浏览器输入http://localhost:8088/myFirstweb/Firstservlet访问web 资源的过程(也就是servlet工作的时序图)(提示,解释地址→用端口号和地址访问服务器→访问资源)。
1.浏览器会将请求打包成http请求数据包,发送给web服务器,2.web服务器中的servlet引擎解析请求并封装为一个HttpServletRequest 对象(包含了请求数据),同时创建个HttpServletResponse对象。
3.servlet调用servlet的service()方法,并将HttpServletReque,HttpServletResponse对象作为参数传递给servlet实例4.servlet可以从HttpServletRequest对象中获得请求数据,并处理,当然,servlet也可能要访问数据库。
然后将处理之后的结果放到HttpServletResponse中。
5.servlet引擎从HttpServletResponse中取数据,并将数据打包成http 数据包发送给浏览器。
16、开发servlet服务器程序三种方法。
开发servlet有三种方法:a,实现servlet接口; b,继承GenericServet; c,继承HttpServlet17、通过httpservlet去开发servlet,需要重写doGet和doPost方法。
这是常用的方式,请简述Get与Post方法的区别。
(1)get是从服务器上获取数据,post是向服务器传送数据。
在客户端,Get方式在通过URL提交数据,数据在URL中可以看到;POS T方式,数据放置在HTML HEADER内提交。
(2)对于get方式,服务器端用Request.QueryString获取变量的值,对于po st方式,服务器端用Request.Form获取提交的数据。
(3)GET方式提交的数据最多只能有1024字节,而POST则没有此限制。
(4)安全性问题。
使用Get 的时候,参数会显示在地址栏上,而Post 不会。
所以,还是使用post为好。
18、简述http返回包中的状态码200,302,404,500的意义。
[200] 请求已成功,请求所希望的响应头或数据体将随此响应返回。
[302] 请求的资源现在临时从不同的URI响应请求。
[404] 请求失败,请求所希望得到的资源未被在伺服器上发现。
[500] 伺服器遇到了一个未曾预料的状况,导致了它无法完成对请求的处理.19、简述请求重定向(response.sendRedirect)和请求转发(getRequestDispatcher forward)的区别。
1、forward()只能将请求转发给同一个Web应用中的组件,而sendRedirect()方法不仅可以重定向到当前应用程序中的其他资源,还可以重定向到其他站点的资源。
2、sendRedirect()方法重定向的访问过程结束后,浏览器地址栏中显示的URL 会发生改变,由初始的URL地址变成重定向的目标URL;而调用forward()方法的请求转发过程结束后,浏览器地址栏保持初始的URL地址不变。
3、forward()方法的调用者与被调用者之间共享相同的request对象和response 对象;而sendRedirect()方法调用者和被调用者使用各自的request对象和response对象,它们属于两个独立的请求和响应过程。
1、hibernate拒绝连接、服务器崩溃的原因?最少写5个a) 1. db没有打开2. 网络连接可能出了问题3. 连接配置错了4. 驱动的driver,url是否都写对了5. LIB下加入相应驱动,数据连接代码是否有误6. 数据库配置可能有问题7. 当前联接太多了,服务器都有访问人数限制的8. 服务器的相应端口没有开,即它不提供相应的服务9 hibernate有哪些缓存,分别怎么使用?10 你对hibernate的了解到了一个什么样的程度?11 写出一个sql语句体现hibernate中一对多的关系2、update()和saveOrUpdate()的区别?a)update() 更新,没有主键会报错的b)saveOrUpdate() 保存或更新, 没有主键就执行插入.c)Update:是对暂态(transient )或是只是脱管(detached)的更新操作,对于暂态对象的更新操作通常不产生效果,对于脱管对象是做了同步的操作,即数据库的数据发生变化并且对象状态也成为托管对象d)SaveOrUpdate : 也是对暂态(transient )或是只是脱管(detached)的进行操作,至于是插入还是更新,则要根据id 中指定的一些具体条件来分析。