J2EE34道复习题答案.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
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:结束事务。在操作完成之后还要进行显式的结束事务的操作。     STEP 7:关闭Session。类似于释放数据库的连接。   5、为什么要实现序列化?     序列化是为了解决在对对象流进行读写操作时引发的问题      6、比较一下sessionFactory中的opensession()和getcurrentsession()方法。    采用getCurrentSession()创建的session会绑定到当前线程中,而采用openSession()创建的session则不会. 采用getCurrentSession()创建的session在commit或rollback时会自动关闭,而采用openSession()创建的session必须手动关闭     7、比较一下session中的load()和get()方法,以及如何保证每次都是从数据库读取而不是在缓存中读? load()和get()方法均可根据指定的实体类和id从数据库读取记录并返回和之对应的实体对象。区别: (1)如果找不到符合条件的纪录,get()方法将返回null.而load()将会报出ObjectNotFoundException.    (2)load()方法可以返回实体的代理类实例,而get()永远只返回实体类.    (3)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)dispacther (2)redirect (3)chain (4)redirectAction      哪些是服务器跳转?哪些是客户端跳转?      dispatcher和chain是服务器端跳转,所以客户端只发起一次请求       redirect和redirectAction是客户端跳转

文档评论(0)

159****6529 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档