SSH考试题 下载本文

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. login2对应action的name,后面的login对应action里的方法名 c. d.login2对应action的方法名,后面的login对应action里的name 3.Struts2中,通过下列哪种方式获取不到servletApi? A.ActionContext b ServletContext c ServletActionContext d。接口ServletContextAware,ServletRequestAware,ServletResponseAware访问Servlet对象 4.和SQL相比,HQL有哪些优点? A.HQL能够简单的操作表 b。HQL是简单的sql语言组成 c。HQL是面向对象的检索语言 D。HQL对应的是表和表的字段 5.一个XML文件能被浏览器解析的最小要求是? 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. b. c. d. 8.对于以下程序,Customer对象在第几行变为持久化状态? Customer customer = new Customer();//line1 Customer.setName(“Tom”);//line2

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分)