《Java高级框架应用开发案例教程_Struts 2+Spring+Hibernate课后习题》由会员分享,可在线阅读,更多相关《Java高级框架应用开发案例教程_Struts 2+Spring+Hibernate课后习题(18页珍藏版)》请在金锄头文库上搜索。
1、. . .第三章 P74 1-81. 什么是MVC模式?模型(Model)视图(View) 控制器(controller) 2106162. Struts2的工作原理?1) 浏览器发送请求2) 核心控制器FilterDispatcher根据请求决定调用合适的Action。3) WebWork的拦截器链自动对请求应用通用功能,例如验证 等 功能。4) 回调Action的execute方法。实际上,因为Action只是一个控制器,它会调用业务逻辑组件(Model)来处理用户的请求。5) 输出结果到页面3. Struts2的核心控制器FilterDispaer如何配置? struts org.apa
2、che. struts2.dispatcher.Filter Dispatcher actionpackages org.apache. struts2.showcase.person configProviders com.ascent.MyConfigurationProvider 4. Struts2的Action类如何开发?对于Struts 2应用而言,Action是应用系统的核心,我们也称Action为业务控制器。开发者需要提供大量的Action类,并在strust.xml文件配置Action。5. Struts2的配置文件struts.xml如何开发? 主要配置标签有哪几个?/er
3、ror.jsp/welcome.jsp6. struts.xml配置文件中如何配置Action类?/product/products.jsp7. 配置Action的result标签的类型有哪几种?局部结果:将作为元素配置和全局结果:将作为元素子元素配置8. 配置文件配置Action如何使用通配符?在配置元素时,可以指定name、class和method属性,这3个属性都可支持通配符,这种使用通配符的方式是动态方法调用的一种形式。当我们使用通配符定义Action的name属性时,相当于一个action元素定义多个逻辑Action。第四章 P114 1-51. 如何在JSP页面导入Struts2标
4、签库?加入taglib标签2. 简述If标签的用法。执行基本的条件流转, 判断字符串, 判断数值, 判断为空的问题3. 简述Iterator迭代标签的用法。用于遍历集合(java.util.Collection)或枚举值(java.util.Iterator)4. 如何使用Struts2标签编写一个登录的表单? 5. 使用OGNL如何取request或session范围保存的数据?或第五章 P149 1-4,5-81. Struts2如何实现国际化的流程?2. Struts2全局国际化资源文件如何配置?只需要配置struts.custom.il8n.resources常量即可3. Struts
5、2类范围国际化资源文件如何配置?4. Struts2页面使用哪个标签获取资源文件信息? 5. Struts2 validate验证流程如何?1) 通过转换器将请求参数转换成相应的Bean属性; 2) 判断转换过程是否出现异常。如果有,则将其保存到ActionContext中,conversionError拦截器再封装为fieldError;如果没有,进行下一步; 3) 通过反射(Reflection)来调用validateXxx()方法(可选方法。其中,Xxx表示Action的方法名); 4) 调用validate()方法; 5) 如果经过上述步骤没有出现fieldError,则调用Actio
6、n方法;如果有,则会跳过Action方法,通过国际化将fieldError输出到页面。6. Struts2验证框架验证流程如何?1).指定要验证的目标ActionValidationAction;2). 根据命名规则,找到目标Action对应的ValidationAction-validation.xml文件,框架为该类创建了一个验证对象,这个验证对象基于XML文件;3). 验证器对输入的数据产生作用;4). 如果验证失败,错误信息被添加到内部序列中;5). 当所有的验证器都已经执行后,如果框架发现有错误信息产生,它寻找“input”结果对应的页面,而不调用Action类;6). 如果通过验证
7、,调用Action的方法,返回“success”对应的结果。7. Struts2验证框架的开发流程如何?第六章 P182 1-3,5,61. Struts2拦截器有何作用?在AOP(Aspect-Oriented Programming)中用于在某个方法或字段被访问之前,进行拦截然后在之前或之后加入某些操作。拦截是AOP的一种实现策略。2. Struts2拦截器如何定义?拦截器是动态拦截Action调用的对象。它提供了一种机制可以使开发者可以定义在一个action执行的前后执行的代码,也可以在一个action执行前阻止其执行。同时也是提供了一种可以提取action中可重用的部分的方式。3. S
8、truts2拦截器栈如何定义?拦截器链(Interceptor Chain,在Struts 2中称为拦截器栈Interceptor Stack)。拦截器链就是将拦截器按一定的顺序联结成一个链条。在访问被拦截的方法或字段时,拦截器链中的拦截器就会按其之前定义的顺序被调用。4. Struts2上传下载的拦截器如何配置?image/bmp,image/png,image/jpg,image/gif,image/pjpeg2000005. Struts2上传拦截器有哪些重要的属性配置?allowedTypes:指定文件类型,类型间用英文逗号隔开maximumSize:指定上传文件的最大值,单位为字节第
9、七章P221 1-4,6,71. Hibernate框架的体系结构如何?会话工厂SessionFactory 对属于单一数据库的编译过的映射文件的一个线程安全的,不可变的缓存快照。它是Session的工厂,是ConnectionProvider的客户。可能持有一个可选的(第二级)数据缓存,可以在进程级别或集群级别保存可以在事物中重用的数据。会话Session单线程,生命期短暂的对象,代表应用程序和持久化层之间的一次对话。封装了一个JDBC连接。也是Transaction的工厂。保存有必需的(第一级)持久化对象的缓存,用于遍历对象图,或者通过标识符查找对象。 持久化对象(Persistent O
10、bject)及其集合(Collection) 生命周期短暂的单线程的对象,包含了持久化状态和商业功能。它们可能是普通的JavaBeans/POJOs,唯一特别的是他们从属于且仅从属于一个Session。一旦Session被关闭,他们都将从Session中取消联系,可以在任何程序层自由使用(比如,直接作为传送到表现层的DTO,数据传输对象)。 临时对象(Transient Object)及其集合(Collection)目前没有从属于一个Session的持久化类的实例。他们可能是刚刚被程序实例化,还没有来得及被持久化,或者是被一个已经关闭的Session所实例化的。 事务,Transaction (可选)单线程,生命期短暂的对象,应用程序用它来表示一批不可分割的操作。是底层的JDBC,JTA或者CORBA事务的抽象。一个Session某些情况下可能跨越多个Transaction 事务。ConnectionProvider (可选)JDBC连接的工厂和池。从底层的Datasource或者 DriverManager抽象而来。对应用程序不可见,但可以被开