Struts2+Hibernate架构技术教程课后参考答案.doc_第1页
Struts2+Hibernate架构技术教程课后参考答案.doc_第2页
Struts2+Hibernate架构技术教程课后参考答案.doc_第3页
Struts2+Hibernate架构技术教程课后参考答案.doc_第4页
Struts2+Hibernate架构技术教程课后参考答案.doc_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第1章 Struts2框架技术入门1.5 习题1.5.1 选择题1.D 2.A 3.C 4.B 5.B1.5.2 填空题1.MVC2.Struts1和WebWork3.IBM4. FilterDispatcher5.JSP、Struts2标签1.5.3 简答题1.简述MVC设计模式的工作流程。答:MVC设计模式工作流程是:(1) 用户的请求(V)提交给控制器(C);(2) 控制器接受到用户请求后根据用户的具体需求,调用相应的JavaBean或者EJB(M部分)来进行处理用户的请求;(3) 控制器调用M处理完数据后,根据处理结果进行下一步的调转,如跳转到另外一个页面或者其他Servlet。2.简述Struts2的工作原理。答:Struts2中使用拦截器来处理用户请求,从而允许用户的业务控制器Action与Servlet分离。用户请求提交后经过多个拦截器拦截后交给核心控制器FilterDispatcher处理,核心控制器读取配置文件struts.xml,根据配置文件的信息指定某一个业务控制器Action(POJO类)来处理用户数据,业务控制器调用某个业务组件进行处理,在处理的过程中可以调用其他模型组件共同完成数据的处理。Action处理完后会返回给核心控制器FilterDispatcher一个处理结果,核心控制器根据返回的处理结果读取配置文件struts.xml,根据配置文件中的配置,决定下一步跳转到哪一个页面。一个客户请求在Struts2框架中处理的过程大概有以下几个步骤:(1) 客户提交请求到服务器;(2) 请求被提交到一系列的过滤器过滤后最后到FilterDispatcher;FilterDispatcher是核心控制器,是基于Struts2中MVC模式的控制器部分;(3) FilterDispatcher读取配置文件struts.xml,根据配置信息调用某个Action来处理客户请求;(4) Action执行完毕,返回执行结果,根据struts.xml的配置找到对应的返回结果。1.5.4 实训题略第2章 Struts2核心组件详解2.7 习题2.7.1 选择题1.B 2.C 3.B 4.D 5.B 6.D2.7.2 填空题1. struts.xml和perties2. struts.xml、perties和web.xml3. Action和拦截器4.非耦合性5.IoC方式和非IoC方式6.不指定method属性和指定method属性7.表达式、根对象和上下文环境8.UI标签、非UI标签9.表单标签和非表单标签10.数据标签和控制标签2.7.3 简答题1.简述struts.xml配置文件的作用。答:Struts2的核心配置文件是struts.xml,struts.xml具有重要的作用,所有用户请求被Struts2核心控制器FilterDispatcher拦截,然后业务控制器代理通过配置管理类查询配置文件struts.xml中由哪个也Action处理。2.简述Struts2的核心控制器FilterDispatcher的作用。答:FilterDispatcher是Struts2框架的核心控制器,该控制器作为一个Filter运行在Web应用中,它负责拦截所有的用户请求,当用户请求到达时,该Filter会过滤用户请求。如果用户请求以action结尾,该请求将被转入Struts2框架处理。Struts2框架获得了*.action请求后,将根据*.action请求的前面部分决定调用哪个业务控制器组件,例如,对于login.action请求,Struts2调用名为login的Action来处理该请求。Struts2应用中的Action都被定义在struts.xml文件中,在该文件中定义Action时,定义了该Action的name属性和class属性,其中name属性决定了该Action处理哪个用户请求,而class属性决定了该Action的实现类。3.简述Struts2的业务控制器Action的作用。答:Action类中包含了对用户请求的处理逻辑,因此也把Action称为Action业务控制器。Action是应用的核心,业务控制器是Struts2中实现业务控制的中心,除了保存用户的数据外,它也负责调用其他模型组件在execute()方法中进行数据处理。2.7.4 实训题略第3章 Struts2的高级组件3.6 习题3.6.1 选择题1.A 2.A 3.B 4.C 5.C3.6.2 填空题1.properties2.native2ascii3.AOP4.服务器端校验3.6.3 简答题1.什么是国际化,为什么使用国际化?答:“国际化”是指一个应用程序在运行时能够根据客户端请求所来自的国家/地区、语言的不同而显示不同的用户界面。例如,请求来自于一台中文操作系统的客户端计算机,则应用程序响应界面中的各种标签、错误提示和帮助信息均使用中文文字;如果客户端计算机采用英文操作系统,则应用程序也应能识别并自动以英文界面做出响应。引入国际化机制的目的在于提供自适应的、更友好的用户界面,而并未改变程序的其他功能/业务逻辑。人们常用I18N 这个词作为“国际化”的简称,其来源是英文单词Internationalization 的首末字母I 和N 及它们之间的字符数18。2.简述Struts2中实现国际化流程的过程。答:(1)不同地区使用操作系统环境不同,如中文操作系统、英文操作系统、韩文操作系统等,在获得客户端地区的语言环境后,struts.xml文件会找国际化资源文件,当时中文语言环境,就加载中文国际化资源文件。所示国际化需要编写支持多个语言的国际化资源文件,并且配置struts.xml文件。(2)根据选择的语言加载相应的国际化资源文件,视图通过Struts2标签读取国际化资源文件把数据输出到页面上,完成页面的显示。3.什么是拦截器,拦截器的作用是什么?答:拦截器(Interceptor)体系是Struts2的一个重要组成部分,正是大量的内置拦截器才提供了Struts2的大部分操作。当FilterDispatcher拦截到用户请求后,大量的拦截器将会对用户请求进行处理,然后才调用用户自定义的Action类中的方法来处理请求,比如params拦截器将HTTP请求中的参数解析出来,将这些解析出来参数设置为Action的属性;servlet-config拦截器直接将HTTP请求中的HttpServletRequest实例和HttpServletResponse实例传给Action;国际化拦截器i18n将国际化资源进行操作;文件上传拦截器fileUpload将文件信息传给Action。另外还有数据校验拦截器对数据校验信息进行拦截。对于Struts2的拦截器体系而言,当需要使用某个拦截器时,只需在配置文件struts.xml中配置就可以使用;如果不需要使用该拦截器,也是只需在struts.xml配置文件中取消配置即可。Struts2的拦截器可以理解为一种可插拔式的设计思想,所以Struts2框架具有非常好的可扩展性。4.简述在Java Web应用开发Struts2的输入校验的作用。答:在互联网上,Web站点是对外提供服务的,由于站点的开放性,Web站点保存的数据主要都是从客户端接受过来。输入数据的用户来自不同的行业,有着不同的教育背景和生活习惯,从而不能保证输入内容的正确性。例如,用户操作计算机不熟悉、输入出错、网络问题或者恶意输入等,这些都可能导致数据异常。如果对数据不加校验,有可能导致系统阻塞或者系统崩溃。3.6.4 实训题略第5章 Hibernate框架技术入门5.5 习题5.5.1 选择题 1.A 2.B 3.A5.5.2 填空题1.JDBC和ORM2.hibernate.cfg.xml和perties3.xxx.hbm.xml或者.hbm.xml4. 临时状态(transient)、持久化状态(persistent)和脱管状态(detached)5.5.3 简答题1.简述Hibernate的特点。答:(1)Hibernate是一个开放源代码的对象关系映射框架,它对JDBC 进行了非常轻量级的对象封装,使得Java 程序员可以随心所欲地使用面向对象编程思维来操纵数据库。Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序使用,也可以在Servlet/JSP的Web应用中使用,最具革命意义的是,Hibernate可以在JavaEE框架中取代CMP,完成数据持久化的重任。(2)Hibernate的目标是成为Java中管理数据持久性问题的一种完整解决方案。它协调应用与关系数据库的交互,让开发者解放出来专注于手中的业务问题。(3)Hibernate是一种非强迫性的解决方案。开发者在写业务逻辑与持久化类时,不会被要求遵循许多Hibernate特定的规则和设计模式。这样,Hibernate就可以与大多数新的和现有的应用平顺地集成,而不需要对应用的其余部分做破坏性的改动。2.简述Hibernate的工作原理。答:首先,Configuration读取Hibernate的配置文件及映射文件中的信息,即加载配置文件和映射文件,并通过Hibernate配置文件生成一个多线程的SessionFactory对象,然后,多线程SessionFactory对象生成一个线程Session 对象,Session对象生成Query对象或者Transaction对象;可通过Session对象的get(),load(),save(),update(), delete()和saveOrUpdate( )等方法对PO进行加载、保存、更新、删除等操作;在查询的情况下,可通过Session 对象生成一个Query对象,然后利用Query对象执行查询操作;如果没有异常,Transaction对象将提交这些操作结果到数据库中。5.5.4 实训题略第6章 Hibernate核心组件详解6.11 习题6.11.1 选择题1.A 2.A 3.B6.11.2 填空题1.hibernate.cfg.xml和perties2.hbm.xml3.get()和load()6.11.3简答题1.简述Hibernate配置文件的作用。答:Hibernate框架的配置文件用来为程序配置连接数据库的参数,例如,数据库的驱动程序名,URL,用户名和密码等。Hibernate的基本配置文件有两种:hibernate.cfg.xml和perties。前者包含了Hibernate与数据库的基本连接信息,在Hibernate工作的初始阶段,这些信息被先后加载到Configuration和SessionFactory实例;前者还包含了Hibernate的基本映射信息,即系统中每一个类与其对应的数据库表之间的关联信息,在Hibernate工作的初始阶段,这些信息通过hibernate.cfg.xml的mapping节点被加载到Configuration和SessionFactory实例中。这两种文件信息包含了Hibernate的所有运行期参数。两者的配置内容基本相同,但前者的使用稍微方便一些,例如,在hibernate.cfg.xml 中可以定义要用到的xxx.hbm.xml 映射文件列表,而使用hibernate. properties 则需要在程序中以硬编码方式指明。hibernate.cfg.xml是Hibernate的默认配置文件。2.简述Hibernate的Configuration类的作用。答:Configuration类的主要作用是解析Hibernate的配置文件和持久化映射文件中的信息,即负责管理Hibernate的配置信息。Hibernate运行时需要获取一些底层实现的基本信息,如数据库驱动程序类、数据库的URL等。这些信息定义在Hibernate的配置文件(hibernate.cfg.xml或perties)中。然后通过Configuration对象的buildSessionFactory()方法创建SessionFactory对象,所以Configuration对象一般只有在获取SessionFactory对象时需要使用。当获取了SessionFactory对象之后,由于配置信息已经由Hibernate维护并绑定在返回的SessionFactory中,因此该Configuration已无使用价值。3.简述Hibernate的Session的作用。答:Session对象是Hibernate技术的核心,持久化化对象的生命周期、事务的管理和持久化对象的查询、更新和删除都是通过Session对象来完成的。Hibernate在操作数据库之前必须先取得Session对象,相当于JDBC在操作数据库之前必须先取得Connection对象一样。Session对象不是线程安全的(Thread Safe),一个Session对象最好只由一个单一线程来使用。同时该对象的生命周期要比SessionFactory要短,一个应用系统中可以自始至终只使用一个SessionFactory对象,其生命通常在完成数据库的一个短暂的系列操作之后结束。6.11.4实训题略第7章 Hibernate的高级组件7.6 习题7.6.1 选择题1.B 2.A 3.C7.6.2 填空题1.一对一、一对多和多对多2.HQL、CQ、NSQL3.一级Cache和二级Cache7.6.3简答题1.简述一对一关联关系两种方式的区别答:一对一关联关系分为主键关联和外键关联,主键关联共享一个主键,外键关联各自都有自己的主键,通过一个表的外键关联起来。2.简述事务的特性。答:事务具备原子性(Atomicity)、一致性(Consistency)、隔离性(Isola

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论