2016年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期末考试深刻复知识题(88份)

J2EE期末考试试题(笔试)A卷姓名:学号:注意事项:(考试时间90分钟)1)整个试卷中不得做任何形式的书写或标记,是否试卷成绩做废;2)认真准确填写并核对答题卡中的各项内容,因填涂错误造成的任何后果,由考生自负;3)考试完毕,不得将所有考卷.答题卡.草稿纸带离考场,否则试卷成绩作废;4)作弊,雷同答卷,成绩一律为0分答题结束后,必须经监考老师确认考卷,答题卡,草稿纸已经提交后,方可离开考场一、选择题(单项选择,每题2分,共50题)1、下面对Web应用开发中Servlet组件说法错误的是。
A)Servlet是按照接受请求/返回响应的模式工作的B)运行于Servlet容器中,是被动态加载的C)在Struts框架中,Servlet充当模型组件D)在Struts框架中,Servlet充当控制器组件2、在Struts应用中,能在下列哪几种范围内共享数据说法错误的是。
A)只有request与sessionB)requestC)sessionD)application3、下面那个选项不属于MVC三个核心模块。
A)模型B)视图C)数据库连接D)控制器4、下列关于Struts框架的说法中,正确的是。
A)Struts实质是在JSP Model2的基础上实现的一个MVC框架B)在Struts框架中,模型是由实现业务逻辑的JavaBean与EJB组件构成C)在Struts框架中,视图是由一组JSP文件组成D)以上都是5、关于在web.xml文件中配置欢迎文件清单说法错误的是。
A)使用<welcome-file-list>元素配置欢迎清单B)只能配置一个欢迎文件C)可以配置多个欢迎文件D)Web容器调用会依次寻找欢迎文件,直到找到为止6、下列哪个元素可以配置数据源。
A)<formbean>元素B)<data-sources>元素C)<global-forward>元素D)<message-resources>元素7、下列对<action-mappings>元素属性描述正确的有。
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期末考试复习资料

一、填空题1、Ajax中,如需将请求发送到服务器,我们使用XMLHttpRequest 对象的(open)和(send)方法。
2、Ajax中,XMLHttpRequest 对象如果要用于AJAX 的话,其open() 方法的async 参数必须设置为(true)。
3、Ajax中,如需获得来自服务器的响应,使用XMLHttpRequest 对象的(responseText )或(responseXML )属性。
4、在利用<textarea>标签建立FCKeditor对象时,其传递过来的参数必须是<textarea>标签的(name)属性值,然后通过(ReplaceTextarea)方法替换<textarea>标签。
5、FCKeditor的主配置文件为(fckconfig.js)。
6、FCKeditor中使用属性(AutoDetectLanguage)配置是否自动检查语言。
7、FCKeditor中修改FCKConfig类的(ToolBarSets)属性来实现自定义工具栏。
8、FCKeditor中,要实现上传文件的功能,必须引入(commons-fileupload.jar)、(commons-io.jar)、(slf4j-api.jar)、(fckeditor-java-core.jar)和(slf4j-simple.jar)五个jar 包。
9、要使用客户端表单验证框架JSValidation,需要将(validation-framework.js)、(validation-config.dtd)和(validation-config.xml)加入到web工程的WebRoot目录下。
10、客户端表单验证框架JSValidation的配置文件中,(<form>)是虚拟表单元素,(<field>)是虚拟表单域元素,(<depend>)是检验条件元素。
2016-java笔试题(含答案)

一、单项选择题1.Java是从()语言改进重新设计。
A.Ada B.C++ C.Pasacal D.BASIC答案:B2.下列语句哪一个正确()A.Java程序经编译后会产生machine codeB.Java程序经编译后会产生byte codeC.Java程序经编译后会产生DLLD.以上都不正确答案:B3.下列说法正确的有()A.class中的constructor不可省略B.constructor必须与class同名,但方法不能与class同名C.constructor在一个对象被new时执行D.一个class只能定义一个constructor答案:C4.提供Java存取数据库能力的包是()A.java.sql B.java.awt C.ng D.java.swing答案:A5.下列运算符合法的是()A.&& B.<> C.if D.:=答案:A6.执行如下程序代码a=0;c=0;do{--c;a=a-1;}while(a>0);后,C的值是()A.0 B.1 C.-1 D.死循环答案:C7.下列哪一种叙述是正确的()A.abstract修饰符可修饰字段、方法和类B.抽象方法的body部分必须用一对大括号{ }包住C.声明抽象方法,大括号可有可无D.声明抽象方法不可写出大括号答案:D8.下列语句正确的是()A.形式参数可被视为local variableB.形式参数可被字段修饰符修饰C.形式参数为方法被调用时,真正被传递的参数D.形式参数不可以是对象答案:A9.下列哪种说法是正确的()A.实例方法可直接调用超类的实例方法B.实例方法可直接调用超类的类方法C.实例方法可直接调用其他类的实例方法D.实例方法可直接调用本类的类方法答案:D二、多项选择题1.Java程序的种类有()A.类(Class)B.Applet C.Application D.Servlet2.下列说法正确的有()A.环境变量可在编译source code时指定B.在编译程序时,所能指定的环境变量不包括class path C.javac一次可同时编译数个Java源文件D.javac.exe能指定编译结果要置于哪个目录(directory)答案:BCD3.下列标识符不合法的有()A.new B.$Usdollars C.1234 D.car.taxi答案:ACD4.下列说法错误的有()A.数组是一种对象B.数组属于一种原生类C.int number=[]={31,23,33,43,35,63}D.数组的大小可以任意改变答案:BCD5.不能用来修饰interface的有()A.private B.public C.protected D.static答案:ACD6.下列正确的有()A.call by value不会改变实际参数的数值B.call by reference能改变实际参数的参考地址C.call by reference不能改变实际参数的参考地址D.call by reference能改变实际参数的内容答案:ACD7.下列说法错误的有()A.在类方法中可用this来调用本类的类方法B.在类方法中调用本类的类方法时可直接调用C.在类方法中只能调用本类中的类方法D.在类方法中绝对不能调用实例方法答案:ACD8.下列说法错误的有()A.Java面向对象语言容许单独的过程与函数存在B.Java面向对象语言容许单独的方法存在C.Java语言中的方法属于类中的成员(member)D.Java语言中的方法必定隶属于某一类(对象),调用方法与过程或函数相同答案:ABC9.下列说法错误的有()A.能被java.exe成功运行的java class文件必须有main()方法B.J2SDK就是Java APIC.Appletviewer.exe可利用jar选项运行.jar文件D.能被Appletviewer成功运行的java class文件必须有main()方法答案:BCD三、判断题1.Java程序中的起始类名称必须与存放该类的文件名相同。
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考试试题

J2EE考试试题(每题2分,共100分)姓名:班级:针对如下题目,请选择符合题目要求的答案,针对每一道题,所有答案都选对,则该题得分,错选、不选、漏选均不得分。
每题2分。
1、假设在helloapp应用中有一个hello.jsp,它的文件路径如下:%CATALINA_HOME%/webapps/helloapp/hello/hello.jsp 那么在浏览器端访问hello.jsp 的URL是什么? (单选)(A) http://localhost:8080/hello.jsp(B) http://localhost:8080/helloapp/hello.jsp(C) http://localhost:8080/helloapp/hello/hello.jsp2、假设在helloapp应用中有一个HelloServlet类,它位于org.javathinker包下,那么这个类的class文件应该放在什么目录下? (单选)(A) helloapp/HelloServlet.class(B) helloapp/WEB-INF/HelloServlet.class(C) helloapp/WEB-INF/classes/HelloServlet.class(D) helloapp/WEB-INF/classes/org/javathinker/HelloServlet.class3、假设在helloapp应用中有一个HelloServlet类,它在web.xml文件中的配置如下:<servlet><servlet-name> HelloServlet </servlet-name><servlet-class>org.javathinker.HelloServlet</servlet-class></servlet><servlet-mapping><servlet-name> HelloServlet </servlet-name><url-pattern>/hello</url-pattern></servlet-mapping>那么在浏览器端访问HelloServlet的URL是什么? (单选)(A) http://localhost:8080/HelloServlet(B) http://localhost:8080/helloapp/HelloServlet(C) http://localhost:8080/helloapp/org/javathinker/hello(D) http://localhost:8080/helloapp/hello4、客户请求访问HTML页面与访问Servlet有什么异同?(多选)(A)相同:都使用HTTP协议(B)区别:前者Web服务器直接返回HTML页面,后者Web服务器调用Servlet的方法,由Servlet动态生成HTML页面(C)相同:前者Web服务器直接返回HTML页面,后者Web服务器直接返回Servlet的源代码。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一、选择:1) 在三层结构中,数据访问层承担的责任是(B)a) 定义实体类b) 数据的增删改查操作c) 业务逻辑的描述d) 页面展示和控制转发2) 下面关于数据持久化概念的描述,错误的是(Da) 保存在内存中数据的状态是瞬时状态b) 持久状态的数据在关机后数据依然存在c) 数据可以由持久状态转换为瞬时状态d) 将数据转换为持久状态的机制称为数据持久化3) 下面关于Hibernate的说法,错误的是(C)a) Hibernate是一个“对象-关系映射”的实现b) Hibernate是一种数据持久化技术c) Hibernate是JDBC的替代技术d) 使用Hibernate可以简化持久化层的编码4) Hibernate配置文件中,不包含下面的(A)a) “对象-关系映射”信息b) 数据关联的配置c) show_sql等参数的配置d) 数据库连接信息5) 在Hibernate关系映射配置中,inverse属性的含义是(B)。
a) 定义在<one-to-many>节点上,声明要负责关联的维护b) 声明在<set>节点上,声明要对方负责关联的维护c) 定义在<one-to-many>节点上,声明对方要负责关联的维护d) 声明在<set>节点上,声明要负责关联的维护6) 在使用了Hibernate的系统中,要想在删除某个客户数据的同时删除该客户对应的所有订单数据,下面方法可行的是(B。
a) 配置客户和订单关联的cascade属性为save-updateb) 配置客户和订单关联的cascade属性为allc) 设置多对一关联的inverse属性为trued) 设置多对一关联的inverse属性为false7) 下面一对多关联的配置中,存在哪些错误(D)。
<set name="orders" inverse="false" cascade="true"><one-to-many class="com.x.entity.Order"column="customer_id" /></set>a) inverse属性不可以设置为falseb) cascade属性可设置为truec) class="com.x.entity.Order"应为type="com.x.entity.Order"d) column属性不可再<one-to-many>节点内设置8) 执行下面的hql查询,关于返回值的说法,正确的是(B)。
select ername,eridfrom er uwhere u is not nulla) 语法错误,不能执行b) 返回一个类型为List的实例c) 返回一个数组d) 当返回结果只有一条时,返回一个数组9) 下面创建Criteria对象的语句中正确的是(D)。
a) Criteria c = query.createCriteria();b) Criteria c = query.addCriteria();c) Criteria c = session.createCriteria();d) Criteria c = session.createCriteria(User.class);10) 一般情况下,关系数据模型与对象模型之间不包括下列哪个匹配关系?(B)a) 表对应类b) 记录对应对象c) 表的字段对应类的属性d) 表之间的参考关系对应类之间的依赖关系11) 以下关于SessionFactory的说法哪些正确?Ba) 对于每个数据库事务,应该创建一个SessionFactory对象b) 一个SessionFactory对象对应一个数据库存储源。
c) SessionFactory是重量级的对象,不应该随意创建。
如果系统中只有一个数据库存储源,需要创建多个。
d) SessionFactory的load()方法用于加载持久化对象12) Customer类中有一个Set类型的orders属性,用来存放Order订单对象,在Customer.hbm.xml文件中,用哪个元素映射orders属性?Aa) <set>b) <one-to-one>c) <many-to-one>d) <property>13) <set>元素有一个cascade属性,如果希望Hibernate级联保存集合中的对象,casecade 属性应该取什么值?(D)a) noneb) savec) deleted) save-update14) 以下哪些不属于Session的方法?Ca) load()b) save()c) open()d) saveOrUpdate()15) 创建序列时,若未指定Cycle选项,则当当前值大于MaxValue时将()a) 从MinValue重新开始循环b) 重复使用MaxValue 值c) 执行出错d) 使用随机值16) 以下程序的打印结果是什么?Ctx = session.beginTransaction();Customer c1=(Customer)session.load(Customer.class,new Long(1)); Customer c2=(Customer)session.load(Customer.class,new Long(1)); System.out.println(c1==c2);mit();session.close();a) 运行出错,抛出异常b) 打印falsec) 打印trued) 编译出错17) 以下程序代码对Customer的name属性修改了两次:Btx = session.beginTransaction();Customer customer=(Customer)session.load(Customer.class, new Long(1)); customer.setName(\"Jack\");customer.setName(\"Mike\");mit();执行以上程序,Hibernate需要向数据库提交几条update语句?(B)a) 0b) 1c) 2d) 318) 在持久化层,对象分为的状态不包括?(B)a) 瞬时(Transient)b) 新建(New)c) 脱管(Detached)d) 持久(Persistent)19) 对于以下程序,Customer对象在第几行变为持久化状态?(B)Customer customer=new Customer();customer.setName(\"Tom\");Session session1=sessionFactory.openSession();Transaction tx1 = session1.beginTransaction(); //line1session1.save(customer); //line2mit(); //line3session1.close(); //line4a) line1b) line2c) line3d) line420) 对于以下程序,Customer对象在第几行变为游离状态?(D)Customer customer=new Customer();customer.setName(\"Tom\");Session session1=sessionFactory.openSession();Transaction tx1 = session1.beginTransaction(); //line1session1.save(customer); //line2mit(); //line3session1.close(); //line4a) line1b) line2c) line3d) line421) 以下哪一种检索策略利用了外连结查询?(C单选)a) 立即检索b) 延迟检索c) 迫切左外连结检索d) 迫切右外连结检索22) 假设对Customer类的orders集合采用延迟检索策略,编译或运行以下程序,会出现什么情况(D单选)Session session=sessionFactory.openSession();tx = session.beginTransaction();Customer customer=(Customer)session.get(Customer.class,new Long(1));mit();session.close();Iterator orderIterator=customer.getOrders().iterator();a) 编译出错b) 编译通过,正常运行,不显示任何信息c) 编译通过,正常运行,并显示出结果d) 编译通过,但运行时抛出异常23) POJO是Aa) Plain Old Java Objectb) Programming Object Java Objectc) Page Old Java Objectd) Plain Object Java Old24) POJO的作用是Ca) 普通的Java对象映射数据库元组b) 数据访问c) 对象的赋值d) 保存客户端对象25) 实现equals和hashCode最显而易见的作用是Aa) 比较两个对象标识符的值b) 比较数据库的两条数据c) 比较两个组建是否部署在同一个应用服务器上d) 对象与字段的映射26) 持久化状态前进行合法性检查,需要实现的接口是Ba) ActionListenerb) Lifecyclec) HttpServletRequestd) 持久化状态合法检查不需要实现接口27) 在源代码中嵌入映射信息需要Aa) XDocletb) EJBc) Hibernated) Spring28) 所有的Hibernate,除了了都支持空(null)语义。
Aa) Collectionb) Elementc) Entityd) NodeList29)30) 元素把子对象的一些元素与父类对应的表的一些字段映射起来Aa) Componentb) Elementc) Attributed) ActionForm31) 要实现一个自定义类型,需要实现的接口是Aa) erTypeb) positeTypec) org.hibernate.Sessiond) erType32) ORM是Aa) 对象关系映射b) 对象实体映射c) 数据传输对象d) 数据访问对象33) JDBC不可以完成以下那个选项Da) 与数据库建立连接b) 通过JDBC-API向数据库发送SQL语句c) 通过JDBC-API执行SQL语句d) 进行实体关系的映射34) ORM有什么好处Aa) 能进行关系对象的映射b) 具有控制器功能c) 能在服务器端保存客户端状态d) 向DTO一项能传递数据35) 常见的实体域对象是Ba) 被动域对象(EJB)b) JavaBean对象(也称为POJO,Plain Old Java Object)c) 控制器对象d) ActionForm36) 过程域对象在Hibernate中代表Ca) 业务逻辑操作b) 应用层操作c) 数据库层操作d) 组件对象操作37) 以下哪项不是常见的三层Da) 应用层b) 业务逻辑层c) 数据访问层d) 通讯层38) 对象(实体的实例)对一个特定的Session来说,要么是一个_瞬时__对象,要么是____对象Ba) 短时b) 持久化c) 控制器d) 数据传输对象39) 如果你已知某个实例的持久化标识,你可以使用Session的_____方法来获取它Aa) load()b) loadAll()c) getAllData()d) init()40) 如果你不能确定你要寻找的对象的持久化标识符,那么你需要使用查询,使用Session 的____方法Aa) createQuery()b) query()c) queryAll()d) queryObject()41) 使用Session的____会把对象的状态从数据库中移除Aa) delete()b) remove()c) clear()d) removeAll()42) Hibernate通过____接口,_ CollectionMetadata接口和Type层次体系来访问元数据。