




已阅读5页,还剩4页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第三章 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.apache. 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如何开发? 主要配置标签有哪几个?/error.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标签库?加入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. Struts2类范围国际化资源文件如何配置?4. Struts2页面使用哪个标签获取资源文件信息? 5. Struts2 validate验证流程如何?1) 通过转换器将请求参数转换成相应的Bean属性; 2) 判断转换过程是否出现异常。如果有,则将其保存到ActionContext中,conversionError拦截器再封装为fieldError;如果没有,进行下一步; 3) 通过反射(Reflection)来调用validateXxx()方法(可选方法。其中,Xxx表示Action的方法名); 4) 调用validate()方法; 5) 如果经过上述步骤没有出现fieldError,则调用Action方法;如果有,则会跳过Action方法,通过国际化将fieldError输出到页面。6. Struts2验证框架验证流程如何?1).指定要验证的目标ActionValidationAction;2). 根据命名规则,找到目标Action对应的ValidationAction-validation.xml文件,框架为该类创建了一个验证对象,这个验证对象基于XML文件;3). 验证器对输入的数据产生作用;4). 如果验证失败,错误信息被添加到内部序列中;5). 当所有的验证器都已经执行后,如果框架发现有错误信息产生,它寻找“input”结果对应的页面,而不调用Action类;6). 如果通过验证,调用Action的方法,返回“success”对应的结果。7. Struts2验证框架的开发流程如何?第六章 P182 1-3,5,61. Struts2拦截器有何作用?在AOP(Aspect-Oriented Programming)中用于在某个方法或字段被访问之前,进行拦截然后在之前或之后加入某些操作。拦截是AOP的一种实现策略。2. Struts2拦截器如何定义?拦截器是动态拦截Action调用的对象。它提供了一种机制可以使开发者可以定义在一个action执行的前后执行的代码,也可以在一个action执行前阻止其执行。同时也是提供了一种可以提取action中可重用的部分的方式。3. Struts2拦截器栈如何定义?拦截器链(Interceptor Chain,在Struts 2中称为拦截器栈Interceptor Stack)。拦截器链就是将拦截器按一定的顺序联结成一个链条。在访问被拦截的方法或字段时,拦截器链中的拦截器就会按其之前定义的顺序被调用。4. Struts2上传下载的拦截器如何配置?image/bmp,image/png,image/jpg,image/gif,image/pjpeg2000005. Struts2上传拦截器有哪些重要的属性配置?allowedTypes:指定文件类型,类型间用英文逗号隔开maximumSize:指定上传文件的最大值,单位为字节第七章P221 1-4,6,71. Hibernate框架的体系结构如何?会话工厂SessionFactory 对属于单一数据库的编译过的映射文件的一个线程安全的,不可变的缓存快照。它是Session的工厂,是ConnectionProvider的客户。可能持有一个可选的(第二级)数据缓存,可以在进程级别或集群级别保存可以在事物中重用的数据。会话Session单线程,生命期短暂的对象,代表应用程序和持久化层之间的一次对话。封装了一个JDBC连接。也是Transaction的工厂。保存有必需的(第一级)持久化对象的缓存,用于遍历对象图,或者通过标识符查找对象。 持久化对象(Persistent Object)及其集合(Collection) 生命周期短暂的单线程的对象,包含了持久化状态和商业功能。它们可能是普通的JavaBeans/POJOs,唯一特别的是他们从属于且仅从属于一个Session。一旦Session被关闭,他们都将从Session中取消联系,可以在任何程序层自由使用(比如,直接作为传送到表现层的DTO,数据传输对象)。 临时对象(Transient Object)及其集合(Collection)目前没有从属于一个Session的持久化类的实例。他们可能是刚刚被程序实例化,还没有来得及被持久化,或者是被一个已经关闭的Session所实例化的。 事务,Transaction (可选)单线程,生命期短暂的对象,应用程序用它来表示一批不可分割的操作。是底层的JDBC,JTA或者CORBA事务的抽象。一个Session某些情况下可能跨越多个Transaction 事务。ConnectionProvider (可选)JDBC连接的工厂和池。从底层的Datasource或者 DriverManager抽象而来。对应用程序不可见,但可以被开发者扩展/实现。 TransactionFactory (可选)事务实例的工厂。对应用程序不可见,但可以被开发者扩展/实现。2. Hibernate框架的加载流程如何?(1)启动Hibernate(2)构建Configuration实例,初始化实例中的所有变量:Configuration cfg = Configuration.configure();(3)加载hibernate.cfg.xml文件至cfg实例所分配的内存(4)通过hibernate.cfg.xml文件 中格的mapping节点进行配置,并加载.hbm.xml文件至cfg实例中(5)由cfg实例构建一个SessionFactory实例:SessionFactory sf = cfg.buildSessionFactory();(6)由上面得到的sf实例创建Session连接:Session s = sf.openSession();(7)由Session实例创建事务操作接口Transaction的一个实例:Transaction tx = s.beginTransaction();(8)通过Session接口提供的各种方法操作对数据库的访问(9)提交数据库操作结果:mit();(10)关闭Session连接:3. 什么是ORM?这个术语表示一种技术,用来把对象模型表示的对象映射到基于SQL的关系模型数据结构中去4. Hibernate配置文件hibernate.cfg.xml核心属性有哪些?如何配置? root jdbc:mysql:/localhost:3306/acesys org.hibernate.dialect.MySQLDialect mysql driver root com.mysql.jdbc.Driver 5. 对于用户表usr表,写出该表ORM映射的持久化类Usr.java和映射文件Usr.hbm.xml文件。Usr.javapackage com.ascent.po;public class Usr implements java.io.Serializable private String username;public Usr() public Usr(String username) this.username = username;public String getUsername()return this.username;Public void serUsername(Sting Username)this.username=username;Get and set方法Usr.hbm.xml 6. 写出常用的几种Hibernate提供的主键生成方式。1:assigned -表示在新增数据时由应用程序指定主键的值。主要针对主键是采用自然主键的形式。这种方式,适用于主键列不是自动增长列。 其缺点为在执行新增操作时,需查询数据库判断生成的主键是否已经存在。 2:increment -表示新增数据操作时由hibernate自动生成主键值。其生成的值为:先查询该主键列的最大值,然后在最大值的基础上加上1.适用于采用代理主键形式的主键列。同样不能用于主键列是自动增长的表。但是,该主键生成策略也有些缺点。 (1)新增数据前先查询一遍,影响了性能。 (2)主键的类型只能为数值型的int或者long (3)并发操作时的冲突问题。 3:identity -不如说是为sqlerver数据库量身定做的。主要适用于sqlserver数据库的自动增长列的表。 4:native -表示根据不同的数据库采用不同的主键生成策略。比如,当前数据库为sqlserver,则会采用identity,如为oracle,则采用 oracle中的sequence等。区分数据库的不同是以hibernate主配置文件中sessionFactory中配置的数据库方言。第八章 P255 4种对应关系1) 2) 3) 4) 第九章 P276 1-4,61. Hibernate常用查询语句有哪几种?HQL 和 原生SQL CQ 条件查询2. Hibernate的HQL查询是否支持多态?支持3. Hibernate的HQL语法是否区分大小写?不区分大小写4. Hibernate的HQL查询语言操作的是表还是对象?对象5. Hibernate的HQL查询如何实现左外连接和右外连接?内连接 (inner join) 左外连接 (left outer join )右外连接 (right outer join )全连接 (full join)(不常使用)第十章P298 1,2,4,51. Spring分层结构中7大模块分别是什么?1) 核心容器:核心容器提供Spring框架的基本功能。核心容器的主要组件是BeanFactory,它是工厂模式的实现。BeanFactory使用控制反转(IoC)模式将应用程序的配置和依赖性规范与实际的应用程序代码分开。2) Spring上下文:Spring上下文是一个配置文件,向Spring框架提供上下文信息。Spring上下文包括企业服务,例如JNDI、EJB、电子邮件、国际化、校验和调度功能。3) Spring AOP:通过配置管理特性,Spring AOP模块直接将面向方面的编程功能集成到了Spring框架中。所以,可以很容易地使Spring框架管理的任何对象支持AOP。Spring AOP模块为基于Spring的应用程序中的对象提供了事务管理服务。通过使用Spring AOP,不用依赖EJB组件,就可以将声明性事务管理集成到应用程序中。4) Spring DAO:JDBC DAO (Data Access Object)抽象层提供了有意义的异常层次结构,可用该结构来管理异常处理和不同数据库供应商抛出的错误消息。异常层次结构简化了错误处理,并且极大地降低了需要编写的异常代码数量。Spring DAO的面向JDBC的异常遵从通用的DAO异常层次结构。5) Spring ORM:Spring框架插入了若干个Object/Relation Mapping框架,从而提供了ORM的对象关系映射工具,其中包括JDO、Hibernate和iBatis SQL Map。所有这些都遵从Spring的通用事务和DAO异常层次结构。6) Spring Web模块:Web上下文模块建立在应用程序上下文模块之上,为基于Web的应用程序提供了上下文。所以,Spring框架支持与Jakarta Struts的集成。Web模块还简化了处理多部分请求以及将请求参数绑定到域对象的工作。7) Spring MVC框架:MVC框架是一个全功能的构建Web应用程序的MVC实现。通过策略接口,MVC框架变成为高度可配置的,MVC容纳了大量视图技术,其中包括JSP、Velocity、Tiles、iText和POI。2. 如何理解Spring控制反转IoC?举例说明。程序不应该依赖实现,而是依赖于抽象接口3. Spring创建Bean的作用域有哪些?1、singleton:当一个bean的作用域为singleton, 那么Spring IoC容器中只会存在一个共享的bean实例,并且所有对bean的请求,只要id与该bean定义相匹配,则只会返回bean的同一实例。注意:Singleton作用域是Spring中的缺省作用域。要在XML中将bean定义成singleton,可以这样配置: 2、prototype:一个bean定义对应多个对象实例。Prototype作用域的bean会导致在每次对该bean请求(将其注入到另一个bean中,或者以程序的方式调用容器的getBean()方法)时都会创建一个新的bean实例。根据经验,对有状态的bean应该使用prototype作用域,而对无状态的bean则应该使用singleton作用域。3、request:在一次HTTP请求中,一个bean定义对应一个实例;即每次HTTP请求将会有各自的bean实例, 它们依据某个bean定义创建而成。该作用域仅在基于web的Spring ApplicationContext情形下有效。考虑下面bean定义:针对每次HTTP请求,Spring容器会根据loginAction bean定义创建一个全新的LoginAction bean实例, 且该loginAction bean实例仅在当前HTTP request内有效,因此可以根据需要放心的更改所建实例的内部状态, 而其他请求中根据loginAction bean定义创建的实例,将不会看到这些特定于某个请求的状态变化。 当处理请求结束,request作用域的bean实例将被销毁。4、session:在一个HTTP Session中,一个bean定义对应一个实例。该作用域仅在基于web的Spring ApplicationContext情形下有效。考虑下面bean定义:针对某个HTTP Session,Spring容器会根据userPreferences bean定义创建一个全新的userPreferences bean实例, 且该userPreferences bean仅在当前HTTP Session内有效。 与request作用域一样,你可以根据需要放心的更改所创建实例的内部状态,而别的HTTP Session中根据userPreferences创建的实例, 将不会看到这些特定于某个HTTP Session的状态变化。 当HTTP Session最终被废弃的时候,在该HTTP Session作用域内的bean也会被废弃掉。5、global session:在一个全局的HTTP Session中,一个bean定义对应一个实例。典型情况下,仅在使用portlet context的时候有效。该作用域仅在基于web的Spring ApplicationContext情形下有效。考虑下面bean定义:global session作用域类似于标准的HTTP Session作用域,不过它仅仅在基于portlet的web应用中才有意义。Portlet规范定义了全局Session的概念,它被所有构成某个portlet web应用的各种不同的portlet所共享。在global session作用域中定义的bean被限定于全局portlet Session的生命周期范围内。4. Spring属性注入有哪几种方式?1) 通过接口注射,这种方式要求我们的类必须实现容器给定的一个接口,然后容器会利用这个接口给我们这个类来注射他所依赖的类2) 通过setter方法来注射,这种方式也是Spring推荐的方式3) 通过构造方法来注射类,这种方式Spring同样给与了实现,它和通过setter方式一样,都在类里无任何侵入性,但是不是没有侵入性,只是把侵入性转移了,显然第一种方式要求实现特定的接口,侵入性非常强,不方便以后移植。第十一章 P325 1,2,51. Spring AOP包括哪些基本概念?1) 方面(Aspect): 一个关注点的模块化,这个关注点实现可能 另外横切多个对象。事务管理是J2EE应用中一个很好的横切关注点例子。方面用Spring的 Advisor或拦截器实现。2) 连接点(Joinpoint): 程序执行过程中明确的点,如方法的调用或特定的异常被抛出。3) 通知(Advice): 在特定的连接点,AOP框架执行的动作。各种类 型的通知包括“around”、“before”
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 不锈钢钓鱼钳行业深度研究分析报告(2024-2030版)
- 2025年 阿坝州汶川县招聘社区工作者考试试题附答案
- 泳池水处理设备项目风险评估报告
- 中国有机种植行业市场运行态势与投资战略咨询报告
- 双工位油压冲剪机行业深度研究分析报告(2024-2030版)
- 白蒺藜提取物项目投资可行性研究分析报告(2024-2030版)
- 2023-2029年中国公共云行业发展监测及市场发展潜力预测报告
- 法治教育基地项目计划书
- 2025年中国小麦啤酒行业市场深度分析及发展前景预测报告
- 中国透水砖行业市场发展现状及投资策略咨询报告
- 上海版小学英语单词表
- 2024版房屋租赁合同范本房屋租赁合同
- 中考考前心理疏导主题班会(课件)
- 个人门窗合同范本
- 浙江省杭州市学军中学2025届数学高一下期末统考试题含解析
- 入职申请登记表(模板)
- 生命科学导论(中国农业大学)智慧树知到期末考试答案章节答案2024年中国农业大学
- 基础护理学第七版已纠正附有答案
- 采矿学课程设计-潘三煤矿1
- 工贸企业环保相关知识培训
- 2024届内蒙古阿荣旗第一中学高一下化学期末统考模拟试题含解析
评论
0/150
提交评论