您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > j2ee框架Struts2HibernateSpring考试复习题库
1.Eclipse是IMB公司向开放源代码社区捐献的Java程序开发平台,是一个成熟的、可扩展的体系结构。2.Eclipse主要包含3个子项目:平台子项目,Java开发工具子项目,插件开发环境子项目。3.MVC是Model(模型)业务逻辑层,View(试图)表述层,Controller(控制)控制层。4.Struts是ApacheJakarta项目于2001年推出的一个开元的JavaWeb框架,通过一个配置文件,把各个层面的应用组件联系起来,使组件在程序层面上联系较少,耦合度较低,提高了应用程序的可维护性和扩展性。5.Struts框架有两种发行包:源代码(source)和二进制(binary)。6.Struts框架大约由300个Java类组成,可分为8个核心包:config,action,actions,tiles,upload,taglib,util,validator。7.Struts的核心API包括ActionServlet,ActionForm,Action,ActionMapping及ActionForward,它们构成了Struts框架中的控制器组件,视图组件,模型组件8.Hibernate是对象/关系映射(ORM)的解决方案,就是将Java对象与对象关系映射成关系数据库中表格与表格之间的关系。9.Cache就是缓存,它往往是提高系统性能的在最重要手段,对数据起到一个蓄水池和缓冲的作用。10.Session实现了第一级Cache,它属于事务级数据缓冲,二级Cache是SessionFactory范围内的缓冲,所有的Session共享同一个二级Cache。11.设置Hibernate的二级Cache需要分两部进行:首先确认使用什么数据并发策略,然后设置缓存过期时间和设置Cache提供器。12.Spring是指一个用于构造Java应用程序的轻量级框架。13.IoC是一种将组件依赖关系的创建和管理置于程序外部的技术。1.MVC设计模式的JSPModel1和JSPModel2的区别?答:对Model1而言,JSP页面会完成请求的所有处理事项,负责向客户显示输出,整个流程并没有Servlet的参与,客户请求直接送往JSP页面,JSP页调用JavaBean组件或其他业务组件处理请求,并把结果在另一个页面显示出来。对Model2而言,客户请求不是直接送给JSP页面,而是送给一个Servlet进行前端处理。一旦请求处理完毕,Servlet会把请求重定向到适当的JSP页面。2.Struts的基本原理?答:首先从struts-config.xml文件中读取信息,根据这些信息,它的控制器ActionServlet知道把视图中的请求转发给哪个业务逻辑组件处理。视图组件、控制器与业务逻辑组件之间没有代码上的联系,它们之间的关系在struts-config.xml中声明,这样大大提高了Web应用程序的可移植性和可维护性。3.Struts的核心组件?答:ActionServlet的类扩展了javax.servlet.http.HttpServlet类,其职责是把HTTP消息打包起来并路由传送到框架中合适的处理器。Struts框架中的org.apache.struts.action.Action类是控制器组件的一个扩展。struts-config.xml是整个Struts应用程序的枢纽。ActionMapping,控制器要通过查看请求信息并使用一组动作映射对象来作出决定。ActionForward,在Action完成之后,控制器要转交控制权的地方。ActionForm对象可用来在用户和业务层之间传输客户的输入数据。4.Struts框架如何处理每个请求相应的ActionForm对象?答:①检查该项动作的相应映射,查看是否已经有某个ActionForm得到配置②如果对应这个动作配置了某个ActionForm,则使用action元素中的name属性来查找FormBean的配置信息③查看是否已经创建了ActionForm的一个实例④如果在适当的作用域内已经存在一个ActionForm实例,而且这个实例的类型正是这个新请求所需要的类型,则重用这个实例⑤否则,创建所需ActionForm的一个新实例,并存储在适当的作用域。⑥调用ActionForm实例的reset()方法⑦反复处理请求参数,如果参数名在ActionForm实例中具有对应的设置方法,就为它填上请求参数的值⑧如果validate属性的值设置为true,则调用ActionForm实例的validate()方法,并返回所出现的任何错误。5.当ActionServlet接受到一个用户请求时,将执行如下流程?答:①检索和用户请求匹配的ActionMapping实例,如果不存在,就返回用户请求路径无效的错误信息②如果为ActionMapping配置了FormBean,则获取相应范围内的ActionForm实例。如果ActionForm实例不存在,就创建一个ActionForm对象,把客户提交的表单数据保存到ActionForm对象中。③根据ActionMapping配置信息决定是否需要验证表单。如果需要验证,就调用ActionForm的validate()方法。④如果ActionForm的validate()方法返回null,或者返回一个不包含任何ActionMessage的ActionErrors对象,就表明表单验证成功,继续执行下一步;否则,返回input属性指定的页面,并向用户显示ActionErrors集合中的错误信息。⑤ActionServlet根据ActionMapping实例包含的映射信息决定将请求转发给那个Action,如果相应的Action实例不存在,则先创建这个实例,然后调用Action的execute()方法。⑥Action的execute()方法返回一个ActionForward对象,ActionServlet将请求转发到这个ActionForward对象指向的组件,通常是一个JSP组件或其它Action。⑦如果ActionForward对象指向一个JSP组件,则将该JSP组件生成的动态页面返回给用户,如果ActionForward对想指向的仍然是一个Action,则重新开始执行。6.表单验证是ActionForm的主要功能之一。需要4个功能?答:①重写validate()方法②在资源文件ApplicationResources.properties中设置可能的验证错误的标识③要在配置文件struct-config.xml中把action元素的validate属性设置为true,并添加message-resources元素以指定资源文件的存放路径。④在相应的输入页面的相应位置加入错误标记html:errors,以输出可能的验证错误。7.Hibernate的特点?答:①目标是成为Java中管理持续性数据问题的一种完整的解决方案②是一种非强迫性的解决方案③是一个开房源代码的对象关系映射框架。8.Hibernate软件包简介?答:①hibernate3.jar:包含Hibernate3.1的基础框架的核心API类库,必须使用的jar包②cglib-2.1.2.jar:CGLIB库,Hibernate用它来实现PO字节码的动态生成,非常核心的库,必须使用的jar包。③dom4j-1.6.1.jar包:dom4j是一个Java的XMLAPI,类似于jdom,用来读写XML文件,必须使用的jar包。④commons-collections.jar:ApacheCommons包中的一个,包含了一些Apache开发的集合类,功能比java.util.*强大,必须使用的jar包。⑤commons-logging.jar:ApacheCommons包中的一个,包含了日志功能,必须使用的jar包。⑥ant-1.6.5.jar:Ant编译工具的jar包,用来编译Hibernate源代码。⑦c3p0-0.9.0.jar:C3P0是一个数据库连接池,Hibernate可以配置为使用C3P0连接池。9.Hibernate核心组件?答:①Configuration类:用来读取Hibernate配置文件,并生成SessionFactory对象②SessionFactory接口:生成Session实例的工厂。③Session接口:用来操作PO④Query接口:用来对PO进行查询操作⑤Transaction接口:用来管理Hibernate事务,它的主要方法有commit()和rollback(),可从Session的beginTransaction()方法生成。⑥Hibernate配置文件主要用来配置数据库连接参数⑦映射文件用来把PO与数据库中的数据表、PO之间的关系与数据表之间的关系、以及PO的属性与表字段一一映射起来,是Hibernate的核心文件⑧持久化对象可以是不同的JavaBeans,唯一特殊的是它们正与Session相关联。10.Session-cache的4个重要的性能?答:①保证在一个Session中两次请求同一个对象时,取得的对象是同一个Java实例,有事它可以避免不必要的数据冲突②在对一个对象循环引用时,不至于产生堆栈移出③在数据库事务结束时,对于同一数据库行,不会产生数据冲突,因为对于数据库中的一行,至多有一个对象来表示它④一个事务中可能会有很多个处理单元,在一个处理单元中做的操作都会立即别另外的处理单元得知。11.Spring的主要功能?答:Spring的核心是个轻量级的容器,它是实现控制反转容器(IoC),并提供面向对象编程(AOP)概念的实现方式,提供对持久层、事务的支持,提供MVCWeb框架的实现,并对一些常用的企业服务API提供一致的模型封装,是一个全方位的应用程序框架。12.IoC的工作原理?答:IOC是一种新的设计模式,即IOC模式,系统中通过引入实现了IOC模式的IOC容器,即可由IOC容器来管理对象的生命周期、依赖关系等,从而使得应用程序的配置和依赖性规范与实际的应用程序代码分开。其中一个特点就是通过文本的配件文件进行应用程序组件间相互关系的配置,而不用重新修改并编译具体的Java代码。13.IoC的3中依赖注入类型?答:①通过接口注射,这种方式要求我们的类必须实现容器给定的一个接口,然后容器会利用这个接口给我们这个类注射它所依赖的类。②通过setter方法注射,这种方式也是Spring推荐的方式③通过构造方法注射类,这种方式Spring同样给予了实现,它和通过setter方式一样,都在类里无任何侵入性,但是,不是没有侵入性,只是把侵入性转移了。14.SpringIoC框架的主要组件?答:①Bean,一个简单的Bean,包含一些getter和setter方法②Bean配置文件,Bean的配置文件是一个XML文件③BeanFactory接口及其相关类。生成一个Bean位置文件的一个Resource对象,然后生成一个BeanFactory对象,最后生成一个Bean实例④ApplicationContext接口及其相关类:提供访问资源文件更方便的方法,支持国际化信息,提供文字消息解析的方法,可以发布事件对感兴趣的Bean可以接收到这些信息。15.SpringAOP简述?答:AOP是在一个服务的流程中,插入与该服务的业务逻辑无关的系统服务逻辑,这样的逻辑称为横切关心,将横切关心独立出来设计为一个对象,这样的特殊对象称为方面。16.AOP的主要术语?答:①横切关心:像安全检查,事务等系统层面的服务,常被安插到一些程序中各个对象的处理流程中,这样的服务逻辑在AOP中称为横切关心。②方面:将横切关心设计为独立可重用的对象③连接点:方面在应用程序执行过程时加入目标对象的业务流程中的特定点④通知:方面在某个具体连接点采取的行为或动作⑤切入点:指定某个通知在那些连接点被植入到应用程序之中。⑥织入:将通知加入应用程序的过程。⑦目标:通知被应用的对象⑧引入:通过引入,我们可
本文标题:j2ee框架Struts2HibernateSpring考试复习题库
链接地址:https://www.777doc.com/doc-5272462 .html