当前位置:文档之家› J2EE考试题目及答案

J2EE考试题目及答案

J2简答题1、简述J2的四层模型。

运行在客户端机器上的客户层组件;运行在J2服务器上的层组件;运行在J2服务器上的业务逻辑层组件;运行在服务器上的企业信息系统层软件2、什么是对象持久化?即把数据(如内存中的对象)保存到可永久保存的存储设备中(如磁盘)。

持久化的主要应用是将内存中的数据存储在关系型的数据库中,当然也可以存储在磁盘文件中、数据文件中等等。

3、简述一下,为什么我们使用它?( )是一种为了解决面向对象与关系型数据库存在的互不匹配的现象的技术。

简单说:是通过使用描述对象和数据库之间映射的元数据,将程序中的对象自动持久化到关系数据中。

本质上就是将数据从一种形式转换到另外一种形式。

原因:用它来架起对象和关系型数据库的桥梁,可解决对象层次的映射、对象关系的映射以及对象的持久化问题。

4、简述一下如何使用实现对象持久化的过程(可画图或用伪码描述)1:创建对象。

在这一步中主要为了进行配置文件的装载操作,读取所有的配置文件并进行解析、2: 创建对象。

通过创建好的对象可以创建一个对象的实例,同时是生成对象实例的工厂,他在整个应用中应该是,唯一的。

3:创建对象。

对象类似于数据库的连接对象,可以理解为与数据库建立的一个连接,但是他的功能要比中的对象丰富很多。

4:开始一个事务。

在中定义一个事务操作的开始,这是使用进行持久化操作必不可少的步骤5:进行持久化操作。

在这个步骤中可以读取或者保存对象。

6:结束事务。

在操作完成之后还要进行显式的结束事务的操作。

7:关闭。

类似于释放数据库的连接。

5、为什么要实现序列化?1、序列化以某种存储形式使自定义对象持久化2、序列化将对象转换为可传输方式从一个地方传递到另一个地方3、序列化使程序更具维护性6、比较一下中的()和()方法1、创建的会和绑定到当前线程,而不会。

2 、创建的线程会在事务回滚或事物提交后自动关闭,而必须手动关闭7、比较一下中的()和()方法,以及如何保证每次都是从数据库读取而不是在缓存中读?()和()方法均可以根据指定的实体类和从数据库读取记录,并返回与之对应的实体对象。

其区别在于:如果未能发现符合条件的记录,方法返回,而方法会抛出一个。

方法可返回实体的代理类实例,而方法永远直接返回实体类。

方法可以充分利用内部缓存和二级缓存中的现有数据,而方法则仅仅在内部缓存中进行数据查找,如没有发现对应数据,将越过二级缓存,直接调用完成数据读取。

8、接受用户参数输入,主要有哪几种方式?我们常用的是哪一种?1属性接收参数;2. (域模型)接收参数;3 接收参数。

常用第一种跟第二种9、在中实现一个有哪几种方式?最常用的是哪种?1.定义一个普通的类,类中只要有一个 ()方法且返回一个字符串即可。

2.定义一个类,实现接口,2这个包的3继承2这个类。

最常用的是第三种10、在中的常用的有四种类型1) 2) 3) 4)哪些是服务器跳转?哪些是客户端跳转?和是服务器端跳转,所以客户端只发起一次请求和是客户端跳转,所以客户端发起两次请求。

11、j2是技术还是平台还是框架?它主要包含哪些技术,列举并简单描述2到3个技术?J2本身是一个标准,一个为企业分布式应用的开发提供的标准平台。

J2也是一个框架,包括、、、、、等技术。

:是一种用于执行语句的,可以为多种关系数据库提供统一访问,它由一组用语言编写的类和接口组成。

协议调用远程对象上的方法。

它使用了序列化方式在客户端和服务器端传递数据。

是一种被使用的更底层的协议。

12、的各个部分都有哪些技术来实现?如何实现?是--的简写。

"" 代表的是应用的业务逻辑(通过,组件实现), "" 是应用的表示面(由页面产生),"" 是提供应用的处理过程控制(一般是一个),通过这种设计模型把应用逻辑,处理过程和显示逻辑分成不同的组件实现。

这些组件可以进行交互和重用。

13、什么是?是公司提供的一种标准的命名系统接口,提供统一的客户端,通过不同的访问提供者接口的实现,由管理者将映射为特定的命名服务和目录系统,使得应用程序可以和这些命名服务和目录服务之间进行交互。

14、举例并简单描述2到3种动态网页开发技术。

1、,是英文超文本预处理语言的缩写。

是一种内嵌式的语言,是一种在服务器端执行的嵌入文档的脚本语言,语言的风格有类似于C语言,被广泛地运用。

2、,它是微软公司开发的代替脚本程序的一种应用,它可以与数据库和其它程序进行交互,是一种简单、方便的编程工具。

的网页文件的格式是,现在常用于各种动态网站中。

15、简单描述浏览器输入访问资源的过程(也就是工作的时序图)(提示,解释地址→用端口号和地址访问服务器→访问资源)。

1.浏览器会将请求打包成请求数据包,发送给服务器,2.服务器中的引擎解析请求并封装为一个对象(包含了请求数据),同时创建个对象。

3.调用的()方法,并将,对象作为参数传递给实例4.可以从对象中获得请求数据,并处理,当然,也可能要访问数据库。

然后将处理之后的结果放到中。

5.引擎从中取数据,并将数据打包成数据包发送给浏览器。

16、开发服务器程序三种方法。

开发有三种方法:a,实现接口; b,继承; c,继承17、通过去开发,需要重写和方法。

这是常用的方式,请简述与方法的区别。

(1)是从服务器上获取数据,是向服务器传送数据。

在客户端,方式在通过提交数据,数据在中可以看到;方式,数据放置在内提交。

(2)对于方式,服务器端用获取变量的值,对于方式,服务器端用获取提交的数据。

(3)方式提交的数据最多只能有1024字节,而则没有此限制。

(4)安全性问题。

使用的时候,参数会显示在地址栏上,而不会。

所以,还是使用为好。

18、简述返回包中的状态码200,302,404,500的意义。

[200] 请求已成功,请求所希望的响应头或数据体将随此响应返回。

[302] 请求的资源现在临时从不同的响应请求。

[404] 请求失败,请求所希望得到的资源未被在伺服器上发现。

[500] 伺服器遇到了一个未曾预料的状况,导致了它无法完成对请求的处理.19、简述请求重定向()和请求转发()的区别。

1、()只能将请求转发给同一个应用中的组件,而()方法不仅可以重定向到当前应用程序中的其他资源,还可以重定向到其他站点的资源。

2、()方法重定向的访问过程结束后,浏览器地址栏中显示的会发生改变,由初始的地址变成重定向的目标;而调用()方法的请求转发过程结束后,浏览器地址栏保持初始的地址不变。

3、()方法的调用者与被调用者之间共享相同的对象和对象;而()方法调用者和被调用者使用各自的对象和对象,它们属于两个独立的请求和响应过程。

20、拒绝连接、服务器崩溃的原因?最少写三个?1. 没有打开2. 网络连接可能出了问题3. 连接配置错了4. 驱动的,是否都写对了5. 下加入相应驱动,数据连接代码是否有误6. 数据库配置可能有问题7. 当前联接太多了,服务器都有访问人数限制的8. 服务器的相应端口没有开,即它不提供相应的服务9 有哪些缓存,分别怎么使用?10 你对的了解到了一个什么样的程度?11 写出一个语句体现中一对多的关系21、()和()的区别?()方法操作的对象必须是持久化了的对象。

也就是说,如果此对象在数据库中不存在的话,就不能使用()方法。

()方法操作的对象既可以使持久化了的,也可以使没有持久化的对象。

如果是持久化了的对象调用()则会更新数据库中的对象;如果是未持久化的对象使用此方法,则到数据库中。

22、的三种状态之间如何转换?当对象由瞬时状态()一()时,就变成了持久化状态。

当我们在里存储对象的时候,实际是在的里存了一份,也就是它的缓存里放了一份,然后,又到数据库里存了一份,在缓存里这一份叫持久对象()。

一 ()了,它的缓存也都关闭了,整个也就失效了,这个时候,这个对象变成了游离状态(),但数据库中还是存在的。

当游离状态()()时,又变为了持久状态()。

当持久状态()()时,又变为了瞬时状态(),此时,数据库中没有与之对应的记录。

23、工厂模式?工厂模式主要是为创建对象提供了接口。

工厂模式按照《与模式》中的提法分为三类:1. 简单工厂模式( )2. 工厂方法模式( )3. 抽象工厂模式( ) 这三种模式从上到下逐步抽象,并且更具一般性。

还有一种分类法,就是将简单工厂模式看为工厂方法模式的一种特例,两个归为一类。

下面是使用工厂模式的两种情况:1.在编码时不能预见需要创建哪种类的实例。

2.系统不应依赖于产品类实例如何被创建、组合和表达的细节24、抽象类和接口的区别?接口是公开的,里面不能有私有的方法或变量,是用于让别人使用的,而抽象类是可以有私有方法或私有变量的,另外,实现接口的一定要实现接口里定义的所有方法,而实现抽象类可以有选择地重写需要用到的方法,一般的应用里,最顶级的是接口,然后是抽象类实现接口,最后才到具体类实现。

还有,接口可以实现多重继承,而一个类只能继承一个超类,但可以通过继承多个接口实现多重继承,接口还有标识(里面没有任何方法,如接口)和数据共享(里面的变量全是常量)的作用.25、和的区别?是服务器请求资源,服务器直接访问目标地址的,把那个的响应内容读取过来,然后把这些内容再发给浏览器,浏览器根本不知道服务器发送的内容是从哪儿来的,所以它的地址栏中还是原来的地址。

就是服务端根据逻辑,发送一个状态码,告诉浏览器重新去请求那个地址,一般来说浏览器会用刚才请求的所有参数重新请求,所以参数都可以获取。

26、持久化对象的三种状态,代表含义?瞬时态:简单的说就是你在程序里面一个对象,还没有和关联持久态:对象和有了关联,对象处于框架管理中游离态:在持久态的情况下,对象和失去了关联,比如()或() 后,即游离态,但数据已经存储到了数据库27、页面之间的值传递?1:可以分成多个参数对的方式用传递。

2:可以用特定的字符分隔后组成一个字符串,再用一个参数对的方式传递。

3:如果是第三信息的话,可以用在服务器端的方式传递,一般不用这种方式。

因为占服务器资源。

4:也可以用方式传递。

5:当然还可以用其它的不常的方式传递。

28、框架的数据验证可分为几种类型?表单验证(由处理):如果用户没有在表单中输入姓名,就提交表单,将生成表单验证错误业务逻辑验证(由处理):如果用户在表单中输入的姓名为“”,按照本应用的业务规则,不允许向“”打招呼,因此将生成业务逻辑错误。

29、写一个模式的例子?{= ();(){}(){;}}30、谈谈你的理解?是一种设计模式,它强制的将应用程序的输入、处理、和输出分开。

使用了的应用程序被分为3个核心部件:试图()、模型()、控制器()。

它们各司其职,既分工明确又相互合作。

首先视图接受用户输入请求,然后将请求传递给控制器,控制器再调用某个模型来处理用户的请求,在控制器的控制下,再将处理后的结果交给某个视图进行格式化输出给用户.这是经典的设计执行的基本流程。

相关主题