SSH项目机试笔试小案例.docx

上传人:b****8 文档编号:30037865 上传时间:2023-08-04 格式:DOCX 页数:14 大小:242.09KB
下载 相关 举报
SSH项目机试笔试小案例.docx_第1页
第1页 / 共14页
SSH项目机试笔试小案例.docx_第2页
第2页 / 共14页
SSH项目机试笔试小案例.docx_第3页
第3页 / 共14页
SSH项目机试笔试小案例.docx_第4页
第4页 / 共14页
SSH项目机试笔试小案例.docx_第5页
第5页 / 共14页
点击查看更多>>
下载资源
资源描述

SSH项目机试笔试小案例.docx

《SSH项目机试笔试小案例.docx》由会员分享,可在线阅读,更多相关《SSH项目机试笔试小案例.docx(14页珍藏版)》请在冰豆网上搜索。

SSH项目机试笔试小案例.docx

SSH项目机试笔试小案例

================================机试================================

一、功能要求

公司计划使用SSH(Struts2+Spring+Hibernate)框架开发一套顺风搬家预约登记系统。

具体要求如下:

(1)预约登记功能如图-1所示,用户可以选择起始地区,所用车型,搬家日期,联系人,联系电话。

起始地区包括:

海淀区、朝阳区、西城区、东城区、丰台区、大兴区及石景山。

所用车型包括:

金杯、皮卡、厢式小货及1041货车。

“厢式小货”为默认值。

图-1预约登记页

(2)管理人员登录系统功能:

页面显示登录用户名及登录密码。

如图-2所示。

图-2管理员登录页面

(3)预约信息查询功能如图-3所示,查询出所有的搬家预约信息,按照提交次序倒序排序,状态显示为易读的文本(显示为“未处理”、“已派车”或“已结束”,而非0、1、2),显示相关操作按钮(处理,详情)。

图-3预约搬家登记列表

(4)修改预约登记信息功能:

对预约信息进行修改,只对其状态(1-已派车,2-已结束,0-未处理)进行修改。

如图-4所示。

图-4修改状态

(5)查看预约登记信息功能:

显示预约基本信息及处理状态。

如图-5所示。

图-5查看登记信息

二、数据库设计

表名

move_booking

中文表名称

搬家预约登记表

主键

id

序号

字段名称

字段说明

类型

属性

备注

1

id

编号

number

自增

主键

2

area

起始地区

varchar2(50)

非空

3

cartype

所用车型

varchar2(20)

非空

4

movedate

搬家日期

date

非空

5

contact

联系人

varchar2(20)

非空

6

phone

联系电话

varchar2(20)

非空

7

status

订单状态

Char

(1)

1-未处理

2-已派车

3-已结束

表名

users

中文表名称

管理员信息表

主键

id

序号

字段名称

字段说明

类型

属性

备注

1

id

编号

number

自增

主键

2

name

用户名

varchar2(20)

非空

3

password

密码

varchar2(32)

非空

三、具体要求及推荐实现步骤

1、建立数据库和数据表,并且添加测试数据(至少3条)。

2、打开MyEclipse,创建Web工程,命名为movebooking,并创建相应包。

3、为工程添加Struts2、Spring、Hibernate支持。

4、在工程中创建实体类和对应的Hibernate映射文件。

5、创建DAO类、业务类:

在DAO类中使用HQL语句实现查询操作,按编号倒序排序。

6、创建Action类,正确处理默认状态。

并正确配置Struts、Hibernate、Spring的配置文件。

7、创建如图-1、图-2、图-3、图-4及图-5所示的页面。

8、测试程序,调试运行成功后,分离数据库文件与代码文件一同提交。

8、测试程序,调试运行成功后,分离数据库文件与代码文件一同提交。

 

================================笔试================================

笔试试卷

一、选择题(共25题,每题4分,满分100分)

1)下列关于Spring特性中IoC描述错误的是()。

A.IoC就是指程序之间的关系由程序代码直接操控

B.所谓“IoC:

控制反转”是指控制权由应用代码转到外部容器,即控制权的转移

C.IoC将控制创建的职责搬进了框架中,从应用代码脱离开来

D.使用Spring的IoC容器时只需指出组件需要的对象,在运行时Spring的IoC容器会根据XML配置数据提供给它

2)在Spring中,数据连接是通过数据源获得的,下列关于Spring数据源描述错误的是()。

A.Spring提供了一个简单的数据源实现类DriverManagerDataSource,它位于org.springframework.jdbc.datasource包中,并且这个类提供池化连接的机制

B.Spring在第三方依赖包中包含了两个数据源的实现类包,其一是Apache的DBCP,其二是C3P0

C.Spring提供引用JNDI资源的类是JndiObjectFactoryBean

D.DriverManagerDataSource比较适合在单元测试或简单的独立应用中使用

3)下列关于Spring配置文件的说法不正确的是()。

A.Spring默认是读取/WEB-INF/applicationContext.xml配置文件

B.Spring的配置文件可以配置在类路径下,并可以重命名,但是需要在web.xml文件中指定

C.把applicationContext.xml文件放到src目录下,Spring也可以读到

D.可以通过在web.xml中的进行指定Spring配置文件

4)下面关于Spring中的bean的作用域,描述错误的是()。

A.Spring中的bean的作用域可以通过scope属性进行配置

B.Spring中的bean的作用域默认是prototype

C.当一个bean的scope设为“singleton”时,可以被多个线程同时访问

D.一个bean的scope只对它自己起作用,与其它bean无关

5)下列关于Spring的装配模式(default-autowire)描述不正确的是()。

A.Spring中,至少有两种装配模式,按“类型”和“名字”

B.Spring中默认是按名字进行装配的

C.可以用default-autowire=”byType”配置按类型装配

D.一旦在一个Spring配置文件中配置了default-autowire=”byType”,其它的配置文件也是按此种装配方式进行装配

6)某业务方法taskApply(Useruser,Listtasks)需要对其进行事务控制,下面的声明方式不能起到效果的是()。

A.将查询方法声明为只读事务,其他方法声明为REQUIRED

B.声明do开头的方法为REQUIRED,并修改方法名为doTaskApply

C.

methodname="*Apply"propagation="REQUIRED"/>

D.事务的propagation属性声明为SUPPORTS

7)下列关于Spring与Hibernate的集成,说法错误的是()。

A.Spring与Hibernate的集成后,Hibernate的SessionFactory可以让Spring进行管理

B.Hibernate中的配置文件也可以移到Spring的配置文件中配置

C.使用Spring的事务管理,会让Hibernate事务处理变得简单

D.Hibernate的映射文件的路径(如:

cn/jbit/project/model/User.hbm.xml),不能在Spring中定义

8)下列关于Spring配置数据连接池的描述,错误的是()。

A.Spring可以用mons.dbcp.BasicDataSource类配置数据源

B.在mons.dbcp.BasicDataSource类中有driver,url,username,password属性

C.配置Spring数据源时,必须引入Hibernate的SessionFactory

D.在用dbcp时,需要拷贝commons-dbcp的jar包到类路径下

9)下列选项关于Spring的核心机制——依赖注入的描述正确的是()。

A.所谓依赖注入就是明确地定义组件接口,独立开发各个组件,然后根据组件间的依赖关系组装运行的设计开发模式

B.Spring不负责管理bean之间的关系

C.节点有可选的子节点,用于注入bean的属性

D.在Spring的配置文件中,使用来创建Bean的实例

10)Spring配置文件中关于事务的配置代码如下:

adviceid="txAdvice"transaction-manager="txManager">

attributes>

methodname="get*"propagation="REQUIRED"

read-only="true"/>

methodname="add*"propagation="REQUIRED"/>

methodname="*"propagation="REQUIRED"read-only="true"/>

attributes>

advice>

config>

pointcutid="serviceMethod"

expression="execution(*cn.jbit.ch09.service.*.*(..))"/>

advisoradvice-ref="①________"pointcut-ref="②_________"/>

config>

在横线处应填入()。

A.①txAdvice

②txManager

B.①serviceMethod

②txManager

C.①txAdvice

②serviceMethod

D.①serviceMethod

②txAdvice

11)下面关于Struts2、Hibernate以及Spring整合说法正确是()。

A.当我们将Hiberntae和Spring集成后,Hibernate的程序就交给Spring容器进行管理,所以我们不需要在将操作Hibernate的DAO配置在Spring容器中

B.将Struts2、Hibernate与Spring集成后,更方便系统开发

C.所有Spring中的配置信息必须放到applicationContext.xml中

D.当我们将Struts、Hibernate以及Spring整合在一起时,Spring只能管理Hibernate操作数据库的事务,并不能管理Struts中关于业务操作的事务

12)关于Spring对Hibernate的支持,下列说法正确的是()。

A.Spring也提供了一个持久化解决方案,可以替代Hibernate,也可以和Hibernate集成使用

B.使用Spring对Hibernate的支持,我们将无需创建SessionFactory

C.可以在Spring配置文件中配置Hibernate,因此Spring的配置文件和Hibernate的配置文件无法同时使用

D.Spring提供的HibernateDaoSupport类提供了SessionFactory的setter方法

13)分析下面的Spring配置代码,可以推断下列Java语句的运行结果是()。

Java语句如下:

ApplicationContextcontext=newClassPathXmlApplicationContext("di.xml");

System.out.println(((B)context.getBean("b")).getM());

Spring配置代码如下:

A.编译错误

B.什么也不输出

C.输出:

1

D.输出:

2

14)在Spring配置文件di.xml中包含如下的代码

由此可以推断出()。

A.可以通过如下代码获取Test的实例

ApplicationContextcontext=newClassPathXmlApplicationContext("di.xml");

Testtest=(Test)content.getBean("test");

B.可以通过如下代码获取i的值

ApplicationContextcontext=newClassPathXmlApplicationContext("di.xml");

inti=(int)content.getBean("i");

C.Test肯定实现了一个接口

D.Test中一定存在getI()方法

15)在Spring中,关于依赖注入,下面说法错误的是()。

A.依赖注入提倡面向接口编程

B.依赖注入可降低系统的各个组件之间的依赖程度

C.依赖注入的组件对外提供接口时,使得可以随意更换接口的实现

D.依赖注入使得在实现组件时,必须考虑各个组件中的依赖关系

16)在Spring中,可以通过()方式实现了依赖注入。

A.getter方法

B.setter方法

C.自定义赋值方法

D.静态方法

17)分析如下所示的Spring配置文件中的代码,则选项中的说法正确的是()。

config>

pointcutid="bizMethods"

expression="execution(*cn.jbit.jboa.biz.*.*(..))"/>

advisoradvice-ref="txAdvice"pointcut-ref="bizMethods"/>

config>(选择二项)

A.这是Spring2.0风格的配置

B.该配置不对任何方法起作用

C.将对cn.jbit.jboa.biz包下的所有类的所有方法进行事务控制

D.

advisor>节点还应该配置transaction-manager属性

18)下列选项关于Spring依赖检查说法不正确的是()。

A.在某些情况下,并不需要为Bean的每个属性都设置值,或者某些属性已有默认值,此时可以使用依赖检查进行检查

B.Spring通过元素的dependency-check属性来设置依赖检查或者通过元素的default-dependency-check属性来设置全局依赖检查

C.object——检查和BeanFactory中其他Bean的依赖

D.simple——检查原始类型和String类型是否正常装配

19)下列选项中关于Spring拆分配置文件的说法不正确的是()。

A.在web.xml文件中使用元素来装入多个配置文件,文件名之间以逗号分隔

B.在web.xml文件中以通配符“*”来配置多个具有一定命名规则的配置文件

C.Spring配置文件本身也可以通过import子元素导入其他配置文件,将多个配置文件整合成一个完整的Spring配置文件

D.拆分Spring配置文件会影响速度,实际项目应用中不建议拆分Spring配置文件

20)下列选项关于Spring配置DataSource的说法正确的是()。

(选择二项)

A.Spring数据源配置方式比较单一,可配性低

B.Spring默认的数据源实现是DriverManagerDataSource

C.Spring使用PropertyPlaceholderConfigurer可以引入属性文件,在配置文件中采用${…}的方式引用属性值

D.Spring通过JndiObjectFactoryBean类引用JNDI资源,在Spring配置文件中jndiName值与服务器上配置的JNDI数据源名字一样

21)关于Struts2+Spring+Hibernate集成框架,下列说法正确的是()。

A.使用SSH框架开发项目,由于增加了大量配置工作,从而会降低开发的效率

B.三个框架可以用多种方式进行集成

C.使用SSH框架开发不利于实现复杂的业务逻辑

D.使用SSH框架开发不利于构造复杂的页面和交互流程

22)在Spring的配置文件中,包含如下所示的配置代码,则下面说法正确的是()。

(选择二项)

A.可以通过下列代码获取对象实例:

ApplicationContextcontext=newClassPathXmlApplicationContext("di.xml");

TestBeant=(TestBean)context.getBean("test.TestBean");

B.TestBean中一定有如下语句:

privateStringdp="";

C.TestBean中可能有方法:

publicvoidsetSp(Stringvalue)

D.属性dp的类型可能是int也可能是String

23)对下面使用Spring依赖注入的代码,下面说法错误的是()。

ApplicationContextcontext=

newClassPathXmlApplicationContext("di.xml");

Printerprinter=(Printer)context.getBean("printer");(选择二项)

A.配置文件di.xml位于classpath目录下

B.在di.xml中定义了一个id或name为printer的bean

C.context.getBean()返回的是printer类型的对象,不需要强制转换类型

D.di.xml被修改后,context会自动重新加载

24)Spring是一个功能丰富而易用的集成框架,它的核心是()。

(选择二项)

A.依赖注入(DI)

B.面向方面编程(AOP)

C.分层架构

D.丰富的标签库

25)在Spring中,配置Hibernate事务管理器(HibernateTransactionManager)时,需要注入的属性名称是()。

A.session

B.sessionFactory

C.baseHibernateDao

D.transactionProxyFactoryBean

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 解决方案 > 学习计划

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1