A. list是null B. 抛出SqlException异常
C. list.size=0 D. 抛出NotFoundException异常 65、MVC设计模式的目的是( D )。
A. 使程序结构更清晰 B. 使程序更好维护
C. 保证视图和模型的隔离 D. 在逻辑上将视图、模型和控制器分开
66、Hibernate的运行核心是( D )类,它负责管理对象的生命周期、事务处理、数据交互等。
A. Configuration B. Transaction C. Query D. Session 67、Spring的事务管理应该在DAO模式的( C )。
A. 实体层 B. 数据访问层 C. 业务层 D. 控制层 68、关于Spring的说法错误的是( D )。 A. Spring是一个轻量级JavaEE的框架集合 B.Spring包含一个“依赖注入”模式的实现 C.使用Spring可以事先声明式事务 D.Spring提供了AOP方式的日志系统
69、下面创建Criteria对象的语句中正确的是( D )。 A. Criteria c = query.createCriteria() B. Criteria c = query.addCriteria() C. Criteria c = session.createCriteria()
D. Criteria c = session.createCriteria(User.class)
70、下面关于“依赖注入”的说法,错误的是( D )。
A. 将组件间的依赖关系采取配置文件的方式管理,而不是硬编码在代码中 B. 降低了组件间的耦合,使程序更容易维护和升级 C. 促进了“面向接口”编程,使构建大规模程序更轻松 D. 需要定义大量接口,增加了编码复杂度
71、在Spring中,可以通过下列哪种方式实现属性值的注入(B )。 A. getter方法 B. setter方法 C. 自定义赋值方法 D. 静态方法 72、下面关于“依赖注入”的说法,错误的是(D )。
A. 将组件间的依赖关系采取配置文件的方式管理,而不是在代码中 B. 降低了组件间的耦合,使程序更容易维护和升级 C. 促进了“面向接口”编程,使构建大规模程序更轻松 D. 需要定义大量接口,增加了编码复杂度
填空题
Hibernate是一个基于JDBC的 持久层解决方案,是一个优秀的开源的对象关系映射ORM 框架。
Hibernate实体间通过关系来相互关联,关联关系主要有 一对一 关系、一对多关系和 多对多关系3种关系。
Spring是一个以 IOC和 AOP为核心的轻量级容器框架。
4、在动作类中如果进行数据校验,必须要在Action类中继承Actionsupport 类。
5、在Struts2中如果某个动作使用了自定义拦截器,则必须使用 interceptor拦截器,否者Sturts2的流程不能正确执行下去。
6、Spring为我们引入了组件自动扫描机制,他可以在类路径底下寻找标注了注解的类,并
把这些类纳入进spring容器中管理。 @service用于标注业务层组件、@controller 用于标注控制层组件、 @repository 用于标注数据访问组件,即DAO组件。而@Component泛指组件当组件不好归类的时候,我们可以使用这个注解进行标注。 7、目前流行的数据库连接池有DBCP、C3PO、Proxool等。 8、ORM中的“O”代表对象(Object),“R”代表关系(Relation),“M”代表映(Mapping)。ORM的原理是将 对象与 表、 属性 与字段分别建立映射关系。
9、网页表单中的数据校验总体分为客户端校验,即浏览器校验,如用JavaScript编写的校验代码,另外一种是 服务器校验,如判断用户是否存在等。 10、版本控制是一种软体工程技巧,籍以在开发的过程中确保由不同人所编辑的同一档案都得到更新。目前流行的版本控制软件有CVS、_SVN等。
11、如果想将struts的编码格式设置为\,则需要在struts.xml文件中 对相应的常量进行配置,配置为
在SSH框架中,Hibernate是一个基于JDBC的持久层解决方案,是一个 优秀的开源的对象关系映射ORM 框架。 13、现阶段在JAVA WEB开发中的开源框架很多,其中最主流的当属SSH,即Struts,Spring和 hibernate 。
14、Struts框架中的视图主要由 jsp页面构成。
15、 Validator框架允许为Struts应用灵活的配置验证规则,无需编程。
16、 在Struts2中如果某个动作使用了自定义拦截器,则必须使用 interceptor拦截器,否者Sturts2的流程不能正确执行下去。
17、Struts2的配置文件默认的文件名是 struts.xml,可以在通过 include标签将其他Struts2配置文件导入进来。
18、Hibernate应用通常由四个部分组成,它们是使用Hibernate API的程序【和 查询语言或API 、 映射机制 、实现技术 、】 configuration sessionfactory session Transaction 。 19、版本控制是一种软体工程技巧,籍以在开发的过程中确保由不同人所编辑的同一档案都得到更新。目前流行的版本控制软件有SVN、__CVS________等。
20、实体对象的生命周期有3种状态即:瞬时态、持久态和 托管(detached) 。 21、Hibernate实体间通过关系来相互关联。其关联关系主要有一对一关系、 一对多关系和 关系3种。 22、在实际应用中为了提高struts.xml文件的可读性,可以将一个struts.xml配置文件分解成多个配置文件,然后在struts.xml文件中包含其他配置文件,该标记是
23、如果将${}用在配置文件struts.xml中表示从 值栈 中读取数据。
24、假设在工程的SRC目录下存在两个资源文件:第一个用来存放中文编码,文件名为:ssh2012_zh_CN.properties,第二个存放英语(作为默认语言)编码,文件名为:ssh2012_en_US.properties。当使用上面的资源文件时需在struts.xml中配置常量加载全局资源文件: 25、实体对象的生命周期有3种状态即:瞬时态、持久态 和脱管态。 26、Hibernate实体间通过关系来相互关联。其关联关系主要有 一对一关系、 关系和 关系3种。 27、若从Kcb中查询kch为\的详细信息,则执行的命令如下所示,请补充完整(前后 代码略去)。 Query query=session.createQuery(\ query.setParameter( 0 , \ 28、在spring中为List类型的对象注入数据时应当采用如下格式: 29、Spring是一个以 控制反转和面向切面编程为核心的轻量级容器框架。 30、若从Student类中查询学号为\的学生信息,则执行的命令如下所示,请补充完整(前后代码略去)。 Query query=session.createQuery(\ query.setParameter( val , \ 31、在spring中为Set类型的变量set注入数据时应当采用如下格式: 32、现阶段在JAVA WEB开发中的开源框架很多,其中最主流的当属SSH,即Struts, 和 。 33、在动作类中如果进行数据校验,必须要在Action类中继承 类。 34、ORM中的“O”代表对象(Object),“R”代表关系(Relation),“M”代表映(Mapping),ORM的原理是将对象与 、属性与 分别建立映射关系。 35、若从Kcb中查询kch为\的详细信息,则执行的命令如下所示,请补充完整(前后代码略去)。 Query query=session.createQuery(\ ? \ query.setParameter( , \ 37、Struts2的配置文件默认的文件名是 struts.xml ,可以在通过 include 标签将其他Struts2配置文件导入进来。 38、数据库中的数据表user和实体类Users是一一对应的关系,如果出现表的名称和类的名称不一致的时候应该配置Users.hbm.xml文件中 当运行该程序时,显示结果是 AAA|BBB|CCC| 。 40、网页表单中的数据校验总体分为客户端校验,即浏览器校验,如用JavaScript编写的校验代码,另外一种是 服务器校验,如判断用户是否存在等。 简答题 1、什么是框架?在JavaEE开发中为什么要使用框架? 2、Hibernate中openSession()和getCurrentSession()有什么差别? 3、Spring中BeanFactory与ApplicationContext的差别? 4、描述Struts2的工作流程。 5、简述hibernate在持久化操作时的工作步骤。 6、谈谈您对OOP和AOP两种编程思想的认识。 7、简单叙述SSH项目搭建过程。 8、什么是框架?为什么要用框架? 9、在应用hibernate框架操作数据库时,是先建表还是先建类?为什么? 10、关系数据库的表之间不存在继承关系,为了将面向对象中的继承关系映射关系数据库中,可以使用以下三种继承映射策略:每个继承层次一张表;每个具体类一张表;每个类一张表。试请分析三种策略在实际应用中各自的优缺点? 11、什么是ORM?它主要解决什么问题? 12、Struts2 + Hibernate + Spring三个框架集成一起,简称为SSH。您认为这三个框架的主要内容是什么?各应用在什么地方? 13、简单叙述SSH项目搭建过程。 14、Struts2 + Hibernate + Spring,简称SSH。 您认为3个框架主要应用在什么地方,各框架的重点内容是什么? 15、简述使用Hibernate完成持久化操作的步骤。 16、继承映射通常有哪几种方式?各有什么优缺点? 17、Spring中的面向切面编程与面向对象编程方式冲突吗?为什么? 简答题 1、以下是Spring的注解AOP类,请在每个//后面进行注释本行代码的意义或功能。 @Aspect public class LogPrint { @Pointcut(\ private void anyMethod() {}// 声明一个切入点 @Before(\定义前置通知 public void doAccessCheck(String userName) { } @AfterReturning(pointcut=\定义例外通知 public void doReturnCheck(String revalue) { } @AfterThrowing(pointcut=\ public void doExceptionAction(Exception ex) { } @After(\定义最终通知 public void doReleaseAction() { } @Around(\环绕通知 public Object doBasicProfiling(ProceedingJoinPoint pjp) throws Throwable { return pjp.proceed(); } } 2、所有的WEB项目都有管理员登录功能,一般管理员的登录是用拦截器完成,阅读程序,请说明intercept方法中每行代码的意义或功能。 package interceptor; import java.util.*; import javax.servlet.http.HttpServletRequest; import org.apache.struts2.ServletActionContext; import com.opensymphony.xwork2.ActionInvocation; import com.opensymphony.xwork2.interceptor.AbstractInterceptor; @SuppressWarnings(\ public class ManagerLoginCheck extends AbstractInterceptor{ public String intercept(ActionInvocation ai) throws Exception { Map session = ai.getInvocationContext().getSession();//获取session对象,拦截所有 String managerName = (String)session.get(\ HttpServletRequest request = ServletActionContext.getRequest(); String currentURL = request.getRequestURI(); if(currentURL.contains(\ if(!(managerName == null || \ return ai.invoke();//转入管理页 }else{ return \ } }else{ return ai.invoke(); } } } 4、SSH框架集成时需要配置web.xml、struts.xml和beans.xml文件,请说明各个配置文件的作用。 // Web.xml文件配置片段 org.springframework.web.context.ContextLoaderListener // struts.xml文件配置片段