column="customer_id" />
a) inverse属性不可以设置为false
b) cascade属性不可设置为true
c) class="com.x.entity.Order"应为type="com.x.entity.Order"
d) column属性不可在节点内设置
8、执行下面的hql查询,关于返回值的说法,正确的是(B)。
select https://www.360docs.net/doc/6d3173993.html,ername,https://www.360docs.net/doc/6d3173993.html,erid
from https://www.360docs.net/doc/6d3173993.html,er u
where u is not null
a) 语法错误,不能执行
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、一般情况下,关系数据模型与类模型之间有哪些匹配关系(ACD)
a) 表对应类
b) 记录对应对象
c) 表的字段对应类的属性
d) 表之间的参考关系对应类之间的依赖关系
11、以下关于SessionFactory的说法哪些正确?(BC)
a) 对于每个数据库事务,应该创建一个SessionFactory对象。
b) 一个SessionFactory对象对应一个数据库存储源。
c) SessionFactory是重量级的对象,不应该随意创建。如果系统中只有一个数据库存储源,只需要创建一个。
d) SessionFactory的load()方法用于加载持久化对象
12、Customer类中有一个Set类型的orders属性,用来存放Order订单对象,在Customer.hbm.xml文件中,用哪个元素映射orders属性?(AB)
a)
b)
c)
d)
13、元素有一个cascade属性,如果希望Hibernate级联保存更新集合中的对象,casecade 属性应该取什么值?(D)〔选择一项〕
a) none
b) save
c) delete
d) save-update
14、以下哪些属于Session的方法?ABD
a) load()
b) save()
c) open()
d) saveOrUpdate()
16、以下程序的打印结果是什么?(C)
tx = 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);
https://www.360docs.net/doc/6d3173993.html,mit();
session.close();
a) 运行出错,抛出异常
b) 打印false
c) 打印true
d) 编译出错
17、以下程序代码对Customer的name属性修改了两次:(B)
tx = session.beginTransaction();
Customer customer=(Customer)session.load(Customer.class,
new Long(1));
customer.setName(\"Jack\");
customer.setName(\"Mike\");
https://www.360docs.net/doc/6d3173993.html,mit();
执行以上程序,Hibernate需要向数据库提交几条update语句?(单选)
a) 0
b) 1
c) 2
d) 3
18、在持久化层,对象分为哪些状态?(ACD)
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(); //line1
session1.save(customer); //line2
https://www.360docs.net/doc/6d3173993.html,mit(); //line3
session1.close(); //line4
a) line1
b) line2
c) line3
d) line4
20、对于以下程序,Customer对象在第几行变为游离状态?(D)Customer customer=new Customer();
customer.setName(\"Tom\");
Session session1=sessionFactory.openSession();
Transaction tx1 = session1.beginTransaction(); //line1
session1.save(customer); //line2
https://www.360docs.net/doc/6d3173993.html,mit(); //line3
session1.close(); //line4
a) line1
b) line2
c) line3
d) line4
22、假设对Customer类的orders集合采用延迟检索策略,编译或运行以下程序,会出现什么情况(D)
Session session=sessionFactory.openSession();
tx = session.beginTransaction();
Customer customer=(Customer)session.get(Customer.class,new Long(1));
https://www.360docs.net/doc/6d3173993.html,mit();
session.close();
Iterator orderIterator=customer.getOrders().iterator();
a) 编译出错
b) 编译通过,正常运行,不显示任何信息
c) 编译通过,正常运行,并显示出结果
d) 编译通过,但运行时抛出异常
23、POJO是(A)
a) Plain Old Java Object
b) Programming Object Java Object
c) Page Old Java Object
d) Plain Object Java Old
24、POJO的作用是(AC)
a) 普通的Java对象映射数据库字段
b) 数据访问
c) 对象的赋值
d) 保存客户端对象
32、ORM是(A)
a) 对象关系映射
b) 对象实体映射
c) 数据传输对象
d) 数据访问对象
33、JDBC可以做哪三件事(ABC)
a) 与数据库建立连接
b) 通过JDBC-API向数据库发送SQL语句
c) 通过JDBC-API执行SQL语句
d) 进行实体关系的映射
34、ORM有什么好处(A)
a) 能进行关系对象的映射
b) 具有控制器功能
c) 能在服务器端保存客户端状态
d) 向DTO一项能传递数据
37、常见的三层分别是ABC
a) 表示层
b) 业务逻辑层
c) 数据访问层
d) 通讯层
38、对象(实体的实例)对一个特定的Session来说,要么是一个(A)对象,要么是(B)对象。
a) 瞬时
b) 持久化
c) 控制器
d) 数据传输对象
39、如果你已知某个实例的持久化标识,你可以使用Session的(A)方法来获取它。
a) load()
b) loadAll()
c) getAllData()
d) init()
40、如果你不能确定你要寻找的对象的持久化标识符,那么你需要使用查询,使用Session 的(A)方法。
a) createQuery()
b) query()
c) queryAll()
d) queryObject()
41、使用Session的(A)会把对象的状态从数据库中移除
a) delete()
b) remove()
c) clear()
d) removeAll()
43、HQL不支持聚合函数有D
a) count(*)
b) avg(…)
c) count(…)
d) count(?)
44、(A)和(B)子句都不支持算术表达式。
a) group by
b) order by
c) compute by
d) insert by
46、from Cat as cat,不仅仅返回(A)的实例,而且还返回(C)的实例。
a) Cat
b) Cat父类
c) Cat子类
d) Cat实现接口
47、(A)代表升序,(C)代表降序。
a) asc
b) ansi
c) desc
d) description
48、对原生SQL查询的控制是通过(A)接口进行的。
a) SQLQuery
b) Session
c) List
d) Query
51、假设实体映射时有一个(D)的关联指向另外一个实体,在查询时必须也返回那个实体,否则会导致发生一个”column not found”的数据库错误。
a) many-to-one
b) many-to-many
c) one-to-many
d) one-to-one
54、在Hibernate中,关于数据库的方言,下面哪个说法是正确的(D)
a) 可以不写数据库方言
b) 数据库方言没有作用,可以随便写
c) 有通用的数据库方言可以使用
d) 数据方言对应于每个数据库,主要用于产生SQL语句
55、下面不属于持久化的是(A)
a) 把对象转换称字符串的形式通过网络传输,在另一端接收到这个字符串后能把对象还原出来
b) 把程序数据从数据库中读出来
c) 从XML配置文件中读取程序的配置信息
d) 把程序数据保存为文件
56、下面(AB)是Hibernate映射文件中包含的内容。
a) 数据库连接信息
b) Hibernate属性参数
c) 主键生成策略?
d) 属性数据类型
57、下面的程序执行后没有报错,但数据总保存不到数据库,最可能的原因是(E)public static void imain(String[] args){
SessionFactory sf=new Configration().configure().buildSessionFactory();
Session session=sf.openSession();
Medal medal=new Medal();
medal.setOwner(“totong”);
medal.setType(“Gold medal”);
session.save(user);
session.close();
}
a) 配置文件配置有误
b) 没有在配置文件中包含对映射文件的声明
c) 配置文件配置有误
d) 没有对持久化操作捕捉异常
e) 没有开启事务
58、下列属于多对一关系的是(D)
a) 书和作者
b) 手机和生产厂家
c) 用户和发布的出租信息
d) 士兵和班长
59、已知wage.getItem().size()的值是1。要想使执行session.update(wage)时自动执行session.update(wage.getItems().get(0)),必须配置(D)
a) …
b) …
c) …
d) …
60、已知系统中的tbl_user表对应的实体类是User,下列HQL语句中正确的是(AD)
a) from User
b) select * from tbluser
c) select User from User
d) from User u where u.uname=”15”
61、下列选项描述正确的一项是(C)
a) IoC容器降低了业务对象替换的复杂性,增强了组件之间的耦合,降低了组件之间的内聚性
b) ApplicationContext在初始化应用上下文时,默认会实例化所有的singleton Bean,因此使用ApplicationContext的性能很低,不建议使用
c) 通过BeanFactory启动IoC容器时,并不会初始配置文件中定义的Bean,初始化动作发生在第一个调用时,IoC容器会缓存Bean实例
d) Spring提供了针对Web开发的集成特性,而且提供了一个完整的类似于Struts的MVC框架,并没有提供对其他MVC框架的支持
62、依赖注入说法正确的是(A)
a) 依赖注入的目标是在代码之外管理程序组件间的依赖关系
b) 依赖注入即是“面向接口”的编程
c) 依赖注入是面向对象技术的替代品
d) 依赖注入的使用会增大程序的规模
63、关于AOP错误的是(C)
a) AOP将散落在系统中的“方面”代码集中实现
b) AOP有助于提高系统可维护性
c) AOP已经表现出将要替代面向对象的趋势
d) AOP是一种设计模式,Spring提供了一种实现
64、关于spring AOP错误的是(A)
a) 首先要编写方面代码,实现MethodBeforeAdvice接口
b) AOP采取拦截方法调用方式实现,可以在调用方法前,后,抛出异常时拦截
c) AOP采取代理的方式实现,常用代理对象的类别为org.springframework.aop.framework.ProxyFactoryBean
d) AOP可以在对目标(target)不做任何修改的情况下增加程序功能
65、不属于Action接口中定义的字符串常量的是(B)。
A.SUCCESS B.FAILURE
C.ERROR D.INPUT
66、在Action类中一般需要添加相应属性的(A)和(C)。
A.setter方法B.as方法C.getter方法D.is方法
67、struts2核心控制器需要在(A)配置文件中进行配置。
A.web.xml B.struts.xml C.struts2.xml D.webwork.xml
68、不属于Struts 2表单标签库的是(D)。
A. B. C. D.
69、在JSP页面中可以通过Struts 2提供的(D)标签来输出国际化信息。
A. B. C. D.
70、资源文件的后缀名为(D)。
A.txt B.doc C.property D.properties
71、下列选项关于依赖注入方式描述错误的一项是(B)
A.设置注入要求Bean提供一个默认的无参构造方法,并为需要注入的属性提供对应的setter方法
B.构造注入是通过构造器来注入Bean的属性或依赖对象。这种方式可以确保一些必要的属性在Bean实例化时就得到设置,从而使Bean在实例化后就可以使用,因此比设置注入要常用
C.对于复杂的依赖关系,如果采用构造注入,会导致构造器过于臃肿,难以阅读,这时可以使用设值注入,则能避免这些问题
D.构造注入可以在构造器中决定依赖关系的注入顺序,优先依赖的优先注入。例如,Web开发时使用数据库,可以优先注入数据库连接的信息
72、下列关于Struts2与Spring框架集成的说法正确的是(AD)
A. Struts2框架提供插件机制,可以方便与其他框架集成
B. Struts2与Spring集成时,使用了Spring提供的插件
C. Struts2与Spring集成后,Action实例由Struts2创建
D. Struts2与Spring集成时,需要在web.xml文件添加Spring框架的上下文加载监听器
73、以下哪个技术不是Ajax技术体系的组成部分(B)
A. XMLHttpRequest
B. DHTML
C. CSS
D.DOM
74、XMLHttpRequest对象有几个返回状态值(C )
A. 3
B. 4
C.5
D. 6
75、在对象XMLHttpReque的属性streadState值为表示异步访问服务器通信已经完成(D)
A. 1
B. 2
C. 3
D. 4
76、下列关于Hibernate与Spring框架集成的说法正确的是(ABC)
A. 可以去掉Hibernate配置文件,需要的信息在Spring配置文件中配置
B. 降低了单纯使用HibernateAPI的复杂程度,并简化了Dao的编写
C. 使用Spring的声明性事务可以方便配置Hibernate中的事务
D. SessionFactory对象需要由开发者编码来创建
77、下列关于HibernateDaoSupport类说法正确的是(ABC)
A. 为了使用Spring框架的便利,所有Dao应该继承HibernateDaoSupport类
B. HibernateDaoSupport类有一个setSessionFactory()方法,可以注入SessionFactory对象
C. HibernateDaoSupport类提供了getHibernateTemplate()方法,可以得到已关联session 的HibernateTemplate对象
D. 继承HibernateDaoSupport类后将无法得到Hibernate的session对象
78、struts2的常量可以在(struts.properties)、(struts.xml)和(web.xml)中配置。
79、在Struts2标签中,可以通过为指定(A)标签,从而向指定url发送请求参数。
A.param
B.value
C.property
D.method
80、在Struts2标签中,(C)标签用于对集合的迭代。
A.
B.
C.
D.
81、Struts2默认的结果类型为(D)。
A.chain
B.redirect
C. redirectAction
D.dispatcher
82、Struts2中使用动态方法调用,如果action的name属性为user,方法名为edit,则使用下列(C)方式完成对action指定方法的访问。
https://www.360docs.net/doc/6d3173993.html,er.action!edit
B. user.action?edit
C. user!edit.action
D. user?edit.action
三、简答
1.Spring框架的优点都有什么?
Spring是分层的架构,你可以选择使用你需要的层而不用管不需要的部分
Spring是POJO编程,POJO编程使得可持续构建和可测试能力提高
依赖注入和IoC使得JDBC操作简单化
Spring是开源的免费的
Spring使得对象管理集中化合简单化
2.描述一下Spring中实现DI(Dependency Injection)的几种方式
方式一:接口注入,在实际中得到了普遍应用,即使在IOC的概念尚未确立时,这样的方法也已经频繁出现在我们的代码中。
方式二:Type2 IoC: Setter injection对象创建之后,将被依赖对象通过set方法设置进去
方式三:Type3 IoC: Constructor injection对象创建时,被依赖对象以构造方法参数的方式注入
3.简述你对IoC(Inversion of Control)的理解
一个类需要用到某个接口的方法,我们需要将类A和接口B的实现关联起来,最简单的方法是类A中创建一个对于接口B的实现C的实例,但这种方法显然两者的依赖(Dependency)太大了。而IoC的方法是只在类A中定义好用于关联接口B的实现的方法,将类A,接口B和接口B的实现C放入IoC的容器(Container)中,通过一定的配置由容器(Container)来实现类A与接口B的实现C的关联。
4. 简述AOP核心?
1)Aspect(切面)切面,是对交叉业务逻辑的统称。
2)Joinpoint(连接点)连接点,指切面可以织入到目标对象的位置(方法,属性等)。
3)Advice(通知)通知,指切面的具体实现。
4)Pointcut(切入点)切入点,指通知应用到哪些类的哪些方法或属性之上的规则。
5)Introduction(引入)引入,指动态地给一个对象增加方法或属性的一种特殊的通
知。
6)Weaving(织入)织入,指将通知插入到目标对象。
7)Target(目标对象)目标对象,指需要织入切面的对象。
8)Proxy(代理对象)代理对象,指切面织入目标对象之后形成的对象。
7.Spring里面如何配置数据库驱动?
Spring里面如何配置数据库驱动?
实例如下:
class="https://www.360docs.net/doc/6d3173993.html,mons.dbcp.BasicDataSource">
value="com.mysql.jdbc.Driver">
value="jdbc:mysql://localhost:3306/acesys">
class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
org.hibernate.dialect.MySQLDialect
true
true
cn/hbpu/po/Usr.hbm.xml
8.Spring里面applicationContext.xml文件能不能改成其他文件名?
ContextLoaderListener是一个Serv letContextListener, 它在你的web应用启动的时候初始化。缺省情况下,它会在WEB-INF/applicationContext.xml文件找Spring的配置。你可以通过定义一个元素名字为”contextConfigLocation”来改变Spring配置文件的位置。示例如下:
org.springframework.web.context.ContextLoaderListener
contextConfigLocation
/WEB-INF/xyz.xml
9.如何在web应用里面配置spring?
在J2EE的web应用里面配置spring非常简单,最简单的只需要把spring得ContextLoaderListener添加到你的web.xml文件里面就可以了,示例如下:
org.springframework.web.context.ContextLoaderListener
10.Spring里面如何定义hibernate mapping?
添加hibernate mapping 文件到web/WEB-INF目录下的applicationContext.xml文件里面。示例如下:
org/appfuse/model/User.hbm.xml
14.如何利用Struts2实现JSP页面国际化。
在struts.xml文件中配置如下一个常量,定义资源文件的位置:
编写国际化资源文件messageResource_en_US.properties和
messageResource_zh_CN.properties。
在JSP页面中可以使用Struts2标签指定name属性,指定国际化资源文件中的key,表单元素指定key属性,指定国际化资源文件中的key。
15. 说出bean工厂创建bean的三种方式?
1) 通过构造方法直接创建:
2)通过静态工厂方法创建:
3)通过非静态工厂方法创建:
18. ajax有什么组成,各组件作用是什么?
由JavaScript、CSS、DOM、XMLHttpRequest组成。
JavaScript:将所有的东西绑定在一起。
CSS:级联样式表
DOM:进行动态显示及交互。
XMLHttpRequest:进行异步数据查询、检索。
19.请说出Hibernate中持久化对象的生命周期以及各种状态直接的区别,并描述相互之间
是如何转换的。
Hibernate中持久化对象的生命周期有临时态、持久态和游离态三种。
处于临时态的对象主键值为空,并且未与session关联,数据未保存到数据库中
处于持久态的对象与session关联起来,持久化后对象中的数据被保存到数据库中,并且主键值按照.hbm.xml文件中配置的生成方式生成相应的值
处于游离态的对象脱离了session的管理,是持久化后的一种状态,主键值按照.hbm.xml 文件中配置的生成方式生成相应的值
当new一个新的对象时,该对象处于临时态
当该对象被当作session的参数使用的时候,该对象处于持久态
事务提交,session关闭后,该对象处于游离态
20.spring和hibernate的事务管理方式有什么不同?
hibernate的事务管理方式仅仅就是托管给JDBC(如果用JTA那么就是JTA),而JDBC的一切行为包括事务是基于一个connection的,那么hibernate委托给JDBC的事务也就是基于一个session。JTA与JDBC事务不同在于可以跨连接。
spring也是调用hibernate中事务管理的API。hibernate的事务管理,一般是编程性的。而委托给spring之后,可以使用声明式的,也就是可以在XML之中配置哪些需要进行事务管理,哪些不需要
21. Hibernate 有哪5 个核心接口?它们的作用分别是什么?
答:Configuration 接口:配置Hibernate,根据其启动hibernate,创建SessionFactory 对象;
SessionFactory 接口:初始化Hibernate,充当数据存储源的代理,创建session 对象,sessionFactory 是线程安全的,意味着它的同一个实例可以被应用的多个线程共享,是重量级、二级缓存;
Session 接口:负责保存、更新、删除、加载和查询对象,是线程不安全的,避免多个线程共享同一个session,是轻量级、一级缓存;
Transaction 接口:管理事务;
Query 和Criteria 接口:执行数据库的查询。
22、什么是ORM?
答:对象关系映射(Object—Relational Mapping,简称ORM)是一种为了解决
面向对象与面向关系数据库存在的互不匹配的现象的技术;简单的说,ORM 是通
过使用描述对象和数据库之间映射的元数据,将java 程序中的对象自动持久化
到关系数据库中;本质上就是将数据从一种形式转换到另外一种形式。
23、解释数据持久化的好处?
答:数据库的读写是一个很耗费时间和资源的操作,当大量用户同时直接访问数据库的时候,效率将非常低,如果将数据持久化就不需要每次从数据库读取数据,直接在内存中对数据进行操作,这样就节约了数据库资源,而且加快了系统的反映速度。
24、Struts2核心控制器FilterDispatcher如何配置?
在web.xml文件中配置Struts2核心控制器FilterDispatcher,代码如下:
struts2
org.apache.struts2.dispatcher.FilterDispatcher
struts2
/*
J2EE面试题集锦(附答案)
J2EE面试题集锦(附答案) (1)JNDI(2)JMS(3)JTA(4)JAF(5)RMI7.EJB是基于哪些技术实现的?并说出SessionBean和EntityBean的区别,StatefulBean和StatelessBean的区别.8.XML的解析方法9.什么是Web Service?10.多线程有几种实现方法,都是什么?同步有几种实现方法,都是什么?11.JSP中动态INCLUDE与静态INCLUDE的区别?二、Java编程与程序运行结果1.Java编程,打印昨天的当前时刻2.文件读写,实现一个计数器答案:1.答:T T F F F F T2.答:(1)接口可以被多重implements,抽象类只能被单一extends(2)接口只有定义,抽象类可以有定义和实现(3)接口的字段定义默认为:public static final, 抽象类字段默认是”friendly”(本包可见)3.答:HashTable的原理:通过节点的关键码确定节点的存储位置,即给定节点的关键码k,通过一定的函数关系H(散列函数),得到函数值H(k),将此值解释为该节点的存储地址.HashMap 与Hashtable很相似,但HashMap 是非同步(unsynchronizded)和可以以null为关键码的.4.答:forward: an internal transfer in servletredirect: 重定向,有2次request,第2次request将丢失第一次的attributs/parameters等5.答:实现J2EE 规范中web协议的应用.该协议定义了web程序的运行时环境,包括:并发性,安全性,生命周期管理等等.6.答:(1)JNDI:Java Naming & Directory Interface,JAVA命名目录服务.主要提供的功能是:提供一
2016年J2EE考试复习试题
一、选择: 1) 在三层结构中,数据访问层承担的责任是(B) a) 定义实体类 b) 数据的增删改查操作 c) 业务逻辑的描述 d) 页面展示和控制转发 2) 下面关于数据持久化概念的描述,错误的是(D a) 保存在内存中数据的状态是瞬时状态 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) 定义在节点上,声明要负责关联的维护 b) 声明在节点上,声明要对方负责关联的维护 c) 定义在节点上,声明对方要负责关联的维护 d) 声明在节点上,声明要负责关联的维护 6) 在使用了Hibernate的系统中,要想在删除某个客户数据的同时删除该客户对应的所有订单数据,下面方法可行的是(B。 a) 配置客户和订单关联的cascade属性为save-update b) 配置客户和订单关联的cascade属性为all c) 设置多对一关联的inverse属性为true d) 设置多对一关联的inverse属性为false 7) 下面一对多关联的配置中,存在哪些错误(D)。 a) inverse属性不可以设置为false b) cascade属性可设置为true c) class="com.x.entity.Order"应为type="com.x.entity.Order" d) column属性不可再节点内设置 8) 执行下面的hql查询,关于返回值的说法,正确的是(B)。 select https://www.360docs.net/doc/6d3173993.html,ername,https://www.360docs.net/doc/6d3173993.html,erid
j2ee测试题
NIIT内部测试题(J2EE) 考试时间:120分钟总分:100分 一、单选题(每题2分,共40分) 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.jsp (D) http://localhost:8080/hello/hello.jsp 2、假设在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.class 3、假设在helloapp应用中有一个HelloServlet类,它在web.xml文件中的配置如下: HelloServlet org.javathinker.HelloServlet HelloServlet /hello 那么在浏览器端访问HelloServlet的URL是什么? ()
J2EE和web考试试题
J2EE考试试题(每题2分,共100分) 姓名:班级: 针对如下题目,请选择符合题目要求的答案,针对每一道题,所有答案都选对,则该题得分, 错选、不选、漏选均不得分。每题2分。 1.下面关于Servlet描述正确的是( ac )。(选择多项) A.Servlet是以Java编程语言开发的服务器端程序,它运行在WEB服务器中。 B.Servlet也可以在被各种浏览器解释执行。 C.Servlet可以跨平台。 D.Servlet每次被调用都会重新编译。 2.HTTPServlet可按下列( abc )方式生成HTML网页。(选择多项) A.按名称显示访问Servlet。 B.提交表单后。 C.按超文本链接。 D.使用include指令包含在网页中。 3.下面关于Servlet的生命周期描述错误的是(c )。(选
择一项) A.Servlet的创建和破坏均由Serlet容器自动处理。 B.卸载Servlet时,服务器将调用Servlet的destroy()方法。 C.调用Servlet时,服务器都会自动调用Servlet的init ()方法。 D.Servlet容器收到的任何请求都将被转发至Servlet的service()方法。 4.当用户在浏览器中输入:http://localhost:8080/myWebApp/start/,就会调用student这个Servlet,可以在Web.xml中( 3 )配置。(选择一项) A. /start/* student B. student /start/* C.
j2ee考试题带答案
西北农林科技大学本科课程考试试题(卷) 2012—2013学年第1学期《J2EE技术》课程A卷专业班级:命题教师:审题教师: 学生姓名:学号:考试成绩: 本试卷由笔试和机试两部分组成。一到三题为笔试部分,第四题为机试部分 一、选择题(每题3分【按空分配分数】,共30分)得分:分 1. 相比于Spring,基于EJB的Java EE技术作为企业级应用解决方案的主要优势体现在(),使得开发出的应用是可向外伸缩的 (scale-out)。 A. 安全性 B. 运行的时空效率 C. 事务处理能力 D. 支持分布的能力 企业级的与普通javabean的区别是企业级的不仅可以供本地客户端访问,还可以供远程客户端访问。本质区别是访问者和被访问者是否位于同一台虚拟机上。 2.消息服务 (Message Service) 与方法调用 (Method Invocation)两者的最大区别就是:消息服务还可以实现()、()以及异构系统集成。 Java消息服务(JMS)是一个消息标准,它允许javaEE应用程序组件生成、发送、接收和读取消息。它能够进行分布式的、松耦合的、可靠地、异步的信息交流。 A. 异步 B. 业务调用 C. 松耦合 D. 消息传递 3. 关于无状态会话bean和有状态会话bean中“状态”说法正确的是()。 A. 有状态会话bean实例有对应的生命周期,而无状态会话bean则没有 B. 有状态会话bean可维持同一个客户端的多个调用之间的状态信息,无状态会话bean则不能 C. 有状态会话bean可以实现业务对象的持久化,无状态会话bean不能 D. 有状态会话bean可以维护HTTP客户端的状态,无状态会话bean不能 4.JPA实体之间的关系包括一对一、多对多、(对多一)和(一对多)共四种关联关系,以及( D )关系。 Java Persistence API java持久化,实体类表示对象,是对数据库中记录的表示 A. 一对多 B. 多对一 C. 继承 D. 映射 5. 判断访问EJB的方式是本地 (local) 访问还是远程 (remote) 访问取决于
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与session B)request
C)session D)application 3、下面那个选项不属于MVC三个核心模块。 A)模型 B)视图 C)数据库连接 D)控制器 4、下列关于Struts框架的说法中,正确的是。 A)Struts实质是在JSP Model2的基础上实现的一个MVC框架 B)在Struts框架中,模型是由实现业务逻辑的JavaBean与EJB组件构成C)在Struts框架中,视图是由一组JSP文件组成 D)以上都是 5、关于在web.xml文件中配置欢迎文件清单说法错误的是。 A)使用元素配置欢迎清单 B)只能配置一个欢迎文件 C)可以配置多个欢迎文件 D)Web容器调用会依次寻找欢迎文件,直到找到为止 6、下列哪个元素可以配置数据源。
J2EE考试题目及答案
J2简答题 1、简述J2的四层模型。 运行在客户端机器上的客户层组件;运行在J2服务器上的层组件;运行在J2服务器上的业务逻辑层组件;运行在服务器上的企业信息系统层软件 2、什么是对象持久化? 即把数据(如内存中的对象)保存到可永久保存的存储设备中(如磁盘)。持久化的主要应用是将内存中的数据存储在关系型的数据库中,当然也可以存储在磁盘文件中、数据文件中等等。 3、简述一下,为什么我们使用它? ( )是一种为了解决面向对象与关系型数据库存在的互不匹配的现象的技术。简单说:是通过使用描述对象和数据库之间映射的元数据,将程序中的对象自动持久化到关系数据中。本质上就是将数据从一种形式转换到另外一种形式。 原因:用它来架起对象和关系型数据库的桥梁,可解决对象层次的映射、对象关系的映射以及对象的持久化问题。 4、简述一下如何使用实现对象持久化的过程(可画图或用伪码描述) 1:创建对象。在这一步中主要为了进行配置文件的装载操作,读取所有的配置文件并进行解析、
2: 创建对象。通过创建好的对象可以创建一个对象的实例,同时是生成对象实例的工厂,他在整个应用中应该是,唯一的。 3:创建对象。对象类似于数据库的连接对象,可以理解为与数据库建立的一个连接,但是他的功能要比中的对象丰富很多。 4:开始一个事务。在中定义一个事务操作的开始,这是使用进行持久化操作必不可少的步骤 5:进行持久化操作。在这个步骤中可以读取或者保存对象。 6:结束事务。在操作完成之后还要进行显式的结束事务的操作。 7:关闭。类似于释放数据库的连接。 5、为什么要实现序列化? 1、序列化以某种存储形式使自定义对象持久化 2、序列化将对象转换为可传输方式从一个地方传递到另一个地方 3、序列化使程序更具维护性 6、比较一下中的()和()方法 1、创建的会和绑定到当前线程,而不会。 2 、创建的线程会在事务回滚或事物提交后自动关闭,而必须手动关闭 7、比较一下中的()和()方法,以及如何保证每次都是从数据库读取而不是在缓存中读? ()和()方法均可以根据指定的实体类和从数据库读取记录,并返回与之对应的实体对象。
j2ee考试题汇总
1. public void service( HttpServletRequest request, HttpServletResponse response)throws IO Exception, Servlet Exception{ //1 } 下面的( )放在//1的位置可以取出application范围内的名为address的JavaBean ? A.getServletContext().getAttribute("address"); B.application.getAttribute("address"); C.pageContext.getAttribute("address",APPLICATION_SCOPE); D.request.getAttribute("address",APPLICATION_SCOPE); ★标准答案:A 2. 下面( )声明当前页为error页? A.<%@ page errorPage="true" %> B.<%@ page info="error" %> C.<%@ page pageEndcoding="error" %> D.<%@ page isErrorPage="true" %> ★标准答案:D 3. Java Web应用中往往通过设置不同作用域的属性来达到通讯的目的。 如果某个对象只在同一请求中共享,通过调用哪个类的setAttribute方法设置属性, A.HttpServletRequest B. ServletRequestListener C. HttpSession D.ServletContext ★标准答案:C
J2EE考试试卷
一单项选择 1 J2EE 中,()类的()方法用于创建对话。(选择一项) a) HttpServletRequest、getSession b) HttpServletResponse、newSession c) HtttpSession、newInstance d) HttpSession、getSession 2 给定一个 Servlet 的doGet方法中的代码片段,如下: request.setAttribute(“name”,”zhang”); response.sendRedirect(“http://localhost:8080/servlet/MyServlt”) 那么在 MyServlet 中可以使用()方法把属性 name的值取出来。(选择一项) a)String str=request.getAttribute(“name”); b)String str=(String)request.getAttribute(“name”); c)Object str=request.getAttribute(“name”); d)无法取出来 3.编写Servlet 的doPost方法时,需要抛出异常为()。(只选一项) A.ServletException, IOException B.ServletException, RemoteException C.HttpServletException, IOException D.HttpServletException, RemoteException 4.以下()可用于检索session属性userid的值。(只选一项) A.session. getAttribute (“userid”); B.session. setAttribute (“userid”); C.request. getParameter (“userid”); D.request. getAttribute (“userid”); 5.在J2EE中,以下对RequestDispatcher描述正确的是()。(选择一项) A.Jsp中有个隐含的对象diapatcher,它的类型是RequestDispatcher B.ServletConfig有一个方法:getRequestDispatcher可以返回RequestDipatcher对象 C.RequestDipatcher 有一个方法:forward可以把请求继续传递给别的Servlet或者JSP界面 D.JSP中有个隐含的默认对象request,它的类型是RequestDipatcher 6.在WEB应用程序的目录结构中,在WEB-INF文件夹外的文件为()。(只选一项) A..jsp文件 B..class文件 C..jar文件 D.web.xml文件 7. 给定一个Servlet程序的代码片段,如下:( ) Public void doPost(HttpServletRequest request,HttpServletResponse response) throws ServletException,IOException { request.getSession().getAttribute(“A”); //第二行 } 假定第二行返回的对象引用不是null,那么这个对象存储在()范围中。(选择
J2EE期中试卷
一、判断题 1、Page对象允许将初始化数据传递给一个JSP页面。(×) 2、Spring从容器中获取bean对象可以分别通过BeanFactory接口和ApplicationContext 接口来实现。(√) 3、POP3是发送邮件的协议。(×) 4、https://www.360docs.net/doc/6d3173993.html,ng.*不是JSP本身已加载的基本类。(×) 5、提交SQL语句属于JDBC基本功能。(√) 6、Page指令用于定义JSP文件中的全局属性,<%@ page %>作用于整个JSP页面。(√) 7、在JSP中使用标记时,不会出现name属性。(×) 8、通过cookie能在不同用户之间共享数据。(×) 9、在JSP文件中引用Bean,其实就是用语句。(×) 10、Servlet程序的入口点是init()。(√) 二、选择题 1)在JSP中,(A)动作用于将请求转发给其他JSP页面。(选择一项) a) forward b) include c) useBean d) setProperty 2)在J2EE中,request对象的(D)方法可以获取页面请求中一个表单组件对应多个值时的用户的请求数据。 a) String getParameter(String name) b) String[] getParameter(String name) c) String getParameterValues(String name) d) String[] getParameterValues(String name) 3)(A)是发送邮件的协议。 a) SMTP b) IAMP c) POP3 d) HTTP 4)J2EE中,JSP EL表达式:${user.loginName}的执行效果等同于(A)。 a) <%=user.getLoginName()%> b) <% user.getLoginName();%> c) <%=user.loginName%> d) <% user.loginName;%> 5)在J2EE中,test.jsp文件中有如下一行代码: 要使user对象只能在使用test.jsp时使用,当加载页面时就会将其销毁。下划线中应填入(A)。 a) page b) request c) session d) application 6)要设计一个大型的基于多层体系结构的web应用系统,系统界面端基于HTML和XML,
J2EE-1测试题
J2EE上测试题 一)选择题总共40分 1.假设在helloapp应用中有一个HelloServlet类,它位于com.fuhe.servlet包下,那么这个类的 class文件应该放在什么目录下? (单选) (A) helloapp/HelloServlet.class (B) helloapp/WEB-INF/lib/com/fuhe/servlet/HelloServlet.class (C) helloapp/WEB-INF/classes/HelloServlet.class (D) helloapp/WEB-INF/classes/com/fuhe/servlet/HelloServlet.class 2.假设在helloapp应用中有一个HelloServlet类,它在web.xml文件中的配置如下: HelloServlet com.fuhe.servlet.HelloServlet HelloServlet /hello 那么在浏览器端访问HelloServlet的URL是什么? (单选) 选项: (A) http://localhost:8080/HelloServlet (B) http://localhost:8080/helloapp/HelloServlet (C) http://localhost:8080/helloapp/com/fuhe/servlet/hello (D) http://localhost:8080/helloapp/hello 3.客户请求访问HTML页面与访问Servlet有什么异同?(多选) 选项: (A)相同:都使用HTTP协议 (B)区别:前者Web服务器直接返回HTML页面,后者Web服务器调用Servlet的方法,由 Servlet动态生成HTML页面 (C)相同:前者Web服务器直接返回HTML页面,后者Web服务器直接返回Servlet的源代 码。 (D)区别:后者需要在web.xml中配置URL路径。 (E)区别:前者使用HTTP协议,后者使用RMI协议。 4.HttpServletRequest对象是由谁创建的?(单选) 选项: (A)由Servlet容器负责创建,对于每个HTTP请求,Servlet容器都会创建一个 HttpServletRequest对象 (B)由JavaWeb应用的Servlet或JSP组件负责创建,当Servlet或JSP组件响应HTTP请求 时,先创建
J2EE考试题目及答案
J2EE简答题 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方法永远直接返回实体类。
J2ee测试题
J2ee测试题 一、针对以下题目请选择正确答案(每道题目有一个或多个正确的答案)。针对每一道题目,所有答案都选对,则该题得分,所选答案错误或不能选出所有正确答案,则该题不得分。此外,多注意上课的内容,其余章节也有题,这里不给出参考题目。 1) 在J2EE中,test.jsp文件中有如下一行代码: 在使user对象可以作用于整个应用程序。下划线中应填入(d)(选择一项) a) page b) request c) session d) application 2) 在JSP中,(a)动作用于将请求转发到其他的JSP页面(选择一项) a) forward b) include c) useBean d)setProperty 3) 在J2EE中,在一个JSP文件中,有表达式<%=2+3%>,它将输出(b)(选择一项) a) 2+3 b) 5 c) 23 d) 不会输出,因为表达式是错误的 4) 要设计一个大型的基于多层体系结构的WEB应用系统,系统界面基于HTML和XML,该系统要不断的进行版本升级(即日后维护,二次需求开发等任务量较大),要达成这些目标,最适合的开发模式是(c)(选择一项) a) DAO b) Value Object c) MVC d) Proxy 5) 在J2EE实现企业级应用开发中,(a)是描述标记库的XML文档(选择一项) a) TLD文件 b) DTD文件 c) WAR文件 d) EAR文件
6) 给定JSP程序如下,可以在下划线处插入并且能够正确输出WELCOME,JACK的语句是(bd)(选择二项)
<%String name=”JACK”;%>WELCOME,_________ a) name b) <%=name%> c) out.println(name); d) <%out.println(name);%> 7) 在J2EE中,重定向到另一个页面,以下(c)语句是正确的(选择一项) a) request.sendRedirect(http://www.jb_https://www.360docs.net/doc/6d3173993.html,); b) request.sendRedirect(); c) response.sendRedirect(“http://www.jb_https://www.360docs.net/doc/6d3173993.html,”); d) response.sendRedirect(); 8)给定JSP中,使用动作可以将javaBean嵌入JSP页面,对JavaBean的访问范围不能是(b)(选择一项) a) page b) request c) response d) application 9) Servlet中,使用()接口中定义的(b)方法来处理客户端发出的表单数据请求(选择一项) a) HttpServlet doHead b) HttpServlet doPost c) ServletRequest doGet d)ServletRequest doPost e) 10) 给定JSP程序源码如下,该JSP运行后输出的结果是(b)(选择一项) <% int count=1;%>Count:<%=++Count%> a) Count:1 b) Count:2 c) 1:2 d)Count:s 11) 给定java程序User.java,代码如下 package user; public class User{ private String password; private String loginName; public String getLoginName() { return loginName;