SSH考试题
一.单项选择题及填空题(每题2分共30分)
1. SSH中,依次处理的哪一层的实现?
A.Struts –业务逻辑层;Hibernate-表现层;Spring-持久层 B.Struts-表现层;Hibernate-业务逻辑层;Spring-持久层 C.Struts-持久层;Hibernate-表现层;Spring-业务逻辑层 D.Struts-表现层;Hibernate-持久层;Spring-业务逻辑层
2.对于Struts2中动态方法调用的方式,下列哪项使用不正确? a.
b. 这个文件时结构完整的
c 必须每个标记都是XML标准定义过得 D.扩展名必须是。XML文件
6.以下程序代码对Customer的name属性修改了两次
tx=session.beginTransaction();
Customer customer =(Customer)session.load(Customer.class,new Long(1)); Customer.setName(“Jack”);customer.setName(“Mike”); Tx.commit();
执行以上程序,Hibernate需要向数据库提交几条update语句? A.0 b 1 c 2 d 3
7.Customer类中有一个Set类型的orders属性,用来存放Order订单对象,在Customer.hbm.xml文件中,用那个元素映射orders属性?
A.
Session session1 = sessionFactory.openSession();//line3 Transaction tx1 = session1.beginTransaction();//line4 session1.save(customer);//line5 tx1.commit();//line6 session1.close();//line7
a. line1 b line2 c。line3 d。line4 e。line5 f。line6 g line7 9.主键生成方式中 native可以代替下面的几个选项,不正确的是? A.identity b。 uuid c。hilo d。sequence
10.Hibernate的生命周期的三种状态。不包括下列哪一项?
A.Transient b。Contacted c 。Persistent d。Detached 11.关于Spring的说法错误的
A Spring是一个轻量级javaEE的框架集合
B. Spring包含一个“依赖注入“模式的实现 C.使用Spring可以事先声明式事务 D.Spring提供了AOP方式的日志系统
12.下列信息中哪一个概念不是Spring中常用的? A IOC b DI c 。ORM d。AOP
13.以下那个技术不是Ajax核心技术体系的组成部分? A XMLHttpRequest b。DHTML c。XML d。DOM 14.对于Hibernate的数据缓存,哪一项面熟不正确?
A.一个缓存(Session Level)和二级缓存(SessionFactory Level) B. 一个缓存包括应用事务级缓存
C.二级缓存包括进程级缓存和分布式缓存 D.实际开发中,我们常用的事二级缓存 15.关于AOP错误的是?
A.AOP将散落在系统中的“方面“代码集中实现 B.AOP有助于提高系统可维护性
C.AOP已经表现出将要代替面向对象的趋势 D.AOP是一种设计模式,Spring提供了一种实现 二.多项选择题(每题2分共10分) 1.Ajax的特点有?
A.动态无刷新b 。分层的思想 c。面向对象的实现 d。提高客户满意度
2.(略)指出下列代码那些行初五的使用了Hibernate?_____________(填空题)
背景简介:Board是一个实体类,id是他的主键,name和description是他的两个属性,BoardDao是Board实体的数据访问对象,BoardBo是业务对象,用户提交变更Board对象的请求,由Struts的BoardAction接收,调用BoardBo处理。
HibernateUtil.currentSession()用于返回电脑跟前请求的Session对象。 1.//数据访问层代码:BoardDao.java
2. public Board loadBoard(Long id){
3. Session session = HibernateUtil.curentSession(); 4. return session.load(Board.class,id); 5.}
6.public void updateBoard(Board board){
7. Session session = HibernateUtil.currentSession();
8. session.update(board); 9.}
10.//业务对象层代码:BoardBo.java 11.private BoardDao boardDao;
12.public void updateBoard(Long id,String name,String description){ 13. Board board = boardDao.loadBoard(id); 14. board.setName(name);
15. board.setDescription(description); 16. boardDao.updateBoard(board); 17.}
18.//Web控制器代码:BoardAction.java 19.private BoardBo boardBo;
20.public ActionForward execute(ActionMapping mapping,ActionForm 21.form,HttpServletReqquest request,HttpServletResponse 22.response)throws Exception{
23. String id = request.getParameter(\); 24. String name = request.getParameter(\);
25. String description = request.getParameter(\); 26. boardBo.updateBoard(id,name,description); 27. return mapping.findForward(\); 28.}
3.以下关于SessionFactory的说法那些正确?
A.对于每个数据库事务应该创建一个SessionFactory对象 B.一个SessionFactory对象对应一个数据库存储源
C.SessionFactory是重量级的对象,不应该随意创建,如果系统中只有一个数据库存储源,只需要创建一个
D.SessionFactory的load()方法用于加载持久化对象 4.SSH项目中是如何使用Spring的? A.IOC负责对象的产生 B.DI负责对象的注入
C.管理Hibernate资源的不是Spring D.AOP负责事务的管理
5.下面那些事Spring中对于bean的管理? A.BeanFactory B.BeanCatcher
C.ApplicationContext D.BeanWrapper 三.问答题
1.Hibernate工作原理及其作用?(5分) 2.描述Struts2的工作流程?(5分)
3.什么是Hibernate延迟加载(lazy-loading)(5分) 4.为什么要使用Spring?(5分)
5.简单叙述一下Spring中BeanFactory与ApplicationContext的差别(5分)
6.Hibernate有哪几种查询数据的方式?(5分)
7.Spring如何进行事务处理的?各适用什么情况?(5分) 8.简单叙述SSH项目搭建过程(5分) 四.编程题(共三题 共20分)
1.利用SSH框架编码实现用户的合法性验证(连接数据库)(9分) 2.自定义一个Struts2的拦截器(5分) 3.编写一个简单的Ajax示例(6分)