选择题
1、下面哪一个不是框架(D )。
A. Spring
B. Struts
C. Hibernate
D. JSP
2、下面是框架的是(D )。
A. JSP
B. Struts标签库
C. Criteria查询
D. Spring
3、在三层结构中,Struts2承担的责任是(D )。
A. 定义实体0类
B. 数据的增删改查操作
C. 业务逻辑的描述
D. 页面展示和控制转发
4、在三层结构中,Hibernate承担的任务是(A )。
A.数据的持久化操作 B. 实体类的定义
C. 业务逻辑的描述
D. 页面的显示与控制转发
5、下面信息不在Struts2配置文件中配置的是( B )。
A. Form Bean配置信息
B. Spring声明式事务
C. Action转发路径
D. Struts2引用的资源文件
6、在struts 实现的框架中,(B)类包含了excute方法的控制器类,负责调用模型的方法,控制应用程序的流程。
A.Ajax B.Action C.Form D.Method
7、下面关于Hibernate的说法,错误的是(C )。
A. Hibernate是一个“对象-关系映射”的实现
B. Hibernate是一种数据持久化技术
C. Hibernate是JDBC的替代技术
D. 使用Hibernate可以简化持久化层的编码
8、下列说法中错误的是(C)。
A.使用通配符可以优化action的配置
B.约定优于配置。约定的如果好,可以使action配置非常的简洁
C.如果Action中存在多个方法时,只能使用method属性指定调用方法
D.在struts2中超级链接通常都采用绝对路径,而不使用相对路径,这样便于链接的实现
9、下列说法中错误的是(D )。
A.从值栈中取值用value=“参数名”,参数名是action中的参数
B.从actioncontext中取值用#parameters.参数名,参数名是struts中的参数
C.在客户端跳转时一次request只有一个valueStack
D.在客户端跳转时一次request可以有多个valueStack
10、和SQL相比,HQL有哪些优点(C )。
A.HQL能够简单的操作表 B. HQL是简单的sql语言组成
C. HQL是面向对象的检索语言
D. HQL对应的是表和表的字段
11、一个XML文件能被浏览器解析的最小要求是( A )。
A.这个文件是形势良好的 B. 这个文件时结构完整的
C.每个标记都是XML标准定义过得 D.扩展名必须是。XML文件
12、主键生成方式中native可以代替下面的几个选项,不正确的是( B )。
A.identity B. uuid C. hilo D. sequence
13、下列信息中哪一个概念不是Spring中常用的( B )。
A. IOC
B. DI
C. ORM
D. AOP
14、Struts控制器是根据哪个文件的配置,将请求转发给相应的Action处理( A )。
A. struts.xml
B. application.properties
C. 通过参数指定
D. 以上都是
15、将中文转码的命令是( C )。
A. java
B. javac
C. native2ascii
D. jar
16、Hibernate的生命周期的三种状态,不包括下列哪一项( B )。
A.Transient B. Contacted C. Persistent D. Detached
17、Struts2标签中,(B )标签用于迭代输出集合中的元素,包括List、Map等。
A. bean
B. iterator
C. param
D. i18n
18、下面不属于持久化的是(B)。
A.把程序数据保存为文件
B.从XML配置文件中读取文件的信息
C.把程序数据从数据库中读取出来
D.把对象转换为字符串的形式传输,在另一端接收后能把对象还原出来
19、下列关于Hibernate说法正确的时(D )。
A.Hibernate是对JDBC轻量级的封装
B.Hibernate需要服务器的运行环境上运行
C.Hibernate是EJB的扩展
D.Hibernate的主配置文件只能是Hibernate.cfg.xml
20、Struts是一个开源的Web开发框架,它是由哪个组织进行维护的(C )。
A. BEA
B. JBoss
C. Apache
D. Sybase
21、有如下Hibernate的Query查询代码,如果没有查到任何数据,以下说法正确的是(C )。Query q=session.createQuery(“from Users”);
List list=q.List();
A. list是null
B. 抛出SqlException异常
C. list.size=0
D. 抛出NotFoundException异常
22、下面不属于关系-对象映射的映射信息是(A )。
A.程序包名到数据库库名的映射B.程序类名到数据库表名的映射
C.实体属性名到数据库表字段的映射D.实体类型到数据库表字段类型的映射
23、Hibernate的运行核心是(D )类,它负责管理对象的生命周期、事务处理、数据交互等。
A. Configuration
B. Transaction
C. Query
D. Session
24、Spring的事务管理应该在DAO模式的(C )。
A. 实体层
B. 数据访问层
C. 业务层
D. 控制层
25、现需要在使用三层结构搭建的某网上专卖店的网站上增加一个满1000送200的促销方案,如果你是设计人员,你将在三层结构的哪一层中实现这一策略(D )。
A. 模型层
B. 表示层
C. 数据访问层
D. 业务逻辑层
26、在Struts框架中进行应用程序的国际化时,下列资源文件中的内容格式正确的是(A )。A.Label.title = welcome here B. Label.title :welcome here
C. Label.title welcome here
D. Label.title “welcome here”
27、在Spring中,通过哪种方式实现了依赖注入(B )。
A. getter方法
B. setter方法
C. 自定义赋值方法
D. 静态方法
28、使用Hibernate技术实现数据持久化时,下面内容不在Hibernate配置文件中配置的是(D )。
A. 数据库连接信息
B. 数据库类型(dialect)
C. show_sql
D. 数据库表和实体的映射信息
29、下面关于“依赖注入”的说法,错误的是( D )。
A. 将组件间的依赖关系采取配置文件的方式管理,而不是硬编码在代码中
B. 降低了组件间的耦合,使程序更容易维护和升级
C. 促进了“面向接口”编程,使构建大规模程序更轻松
D. 需要定义大量接口,增加了编码复杂度
30、Spring框架的配置文件默认的是(D )。
A.struts.xml B.hibernate.cfg.xml
C.spring.xml D.applicationContext.xml
31、Struts2的Action类中有多个方法时,可以使用
A.name B.class C.method D.type
32、Hibernate是一个(A )框架,它对JDBC进行了轻量级的封装,通过此框架开发人员能以面向对象的思维方式来操作数据库。
A.ORM B.MVC C.IoC D.AOP
33、下面哪个选项不属于MVC设计模式的三个核心模块(C)
A.模型B.视图C.数据库连接D.控制器
34、在struts 实现的MVC框架中(A )类是包含了excute方法的控制器类,负责调用模型的方法,控制应用程序的流程
A.Action B.ajax C.actionservlet D.JSP
35、如果需要在页面中输出某变量的值,则在Struts中采用(D )标签输出改变量的值。
A.param B.if C.bean D.property
36、Struts2的Action类中有多个方法时,可以使用
A.name B.class C.method D.type
37、Hibernate是一个(A )框架,它对JDBC进行了轻量级的封装,通过此框架开发人员能以面向对象的思维方式来操作数据库。
A.ORM B.MVC C.IoC D.AOP
38、以下集合中不能直接取第一个元素的是(C)。
A.List B.map C.set D.Array
39、关于web.xml文件中配置欢迎文件清单,说法错误的是(B )。
A.使用
B.只能配置一个欢迎文件
C.可以配置多个欢迎文件
D.web容器调用会依次寻找欢迎文件,直到找到为止
40、在hibernate主配置文件(hibernate.cfc.xml)中,是通过( D )来配置
映射文件的。
A.
41、Transaction接口主要是用于管理事务,它的哪个方法用于事务的提交(C )。
A.wasRollback()方法B.isactive()方法
C.commit()方法D.wacommitted()方法
42、如果要实现hibernate删除一个对象时,同时级联删除与其相关联的其他对象,cascade 属性的值应该设置为(A )。
A.Delete B.true C.false D.none
43、( A )是Hibernate持久化操作的基础,提供了众多持久化方法,如save、update、delete 等。通过这些方法,透明地完成对象的增加、删除、修改、查找等操作。
A.Session B.SessionFactory C.Transaction D.Query
44、在spring容器中如果想在方法执行之前执行某个功能,则使用的通知类型是(A )。
A.Before B.After C.AfterRunning D.AfterThrowing
45、Transaction接口主要是用于管理事务,它的哪个方法用于事务的提交(C )。
A.wasRollback()方法B.isactive()方法
C.commit()方法D.wacommitted()方法
46、Hibernate操作数据库时,如果想将后台显示的sql语句进行格式化显示,则要将期中的一个属性设置为True,该属性是(D )。
A.MySQLDialect B.show_sql
C.hbm2ddl D.format_sql
47、下列信息中哪一个概念不是Spring中常用的(B )。
A. IOC
B. DI
C. ORM
D. AOP
48、在struts 实现的MVC框架中(A )类是包含了excute方法的控制器类,负责调用模型的方法,控制应用程序的流程。
A.Action B.ajax C.actionservlet D.JSP
49、主键生成方式中native可以代替下面的几个选项,不正确的是( B )。
A.identity B. uuid C. hilo D. sequence
50、下面哪个选项不属于MVC设计模式的三个核心模块(C )。
A.模型B.视图C.数据库连接D.控制器
51、如果需要在页面中输出某变量的值,则在Struts中采用(D)标签输出该变量的值。
A.param B.if C.bean D.property
52、下程序代码对Stu的name属性修改了两次
tx=session.beginTransaction();
Stu stu =(Stu)session.load(Stu.class,new Long(1));
Stu.setName(“Tom”);
Stu.setName(“Mike”) ;
https://www.wendangku.net/doc/756011342.html,mit();
执行以上程序,Hibernate需要向数据库提交几条update语句( B )。
A.0 B. 1 C. 2 D. 3
53、以下集合中不能直接取第一个元素的是(C)。
A.List B.map C.set D.Array
54、使用Hibernate技术实现数据持久化时,下面内容不在Hibernate配置文件中配置的是( D )。
A. 数据库连接信息
B. 数据库方言(dialect)
C. show_sql
D. 数据库表和实体的映射信息
55、有如下Hibernate的Query查询代码,如果没有查到任何数据,以下说法正确的是(C )。Query q=session.createQuery(“from Users”);
List list=q.List();
A. list是null
B. 抛出SqlException异常
C. list.size=0
D. 抛出NotFoundException异常
56、下面代码的执行效果是(A )。
String hql=“from Student s order by s.score desc”;
Query query=session.createQuery();
Query.setFirstResult(0);
Query.setMaxResult(5);
return query.list();
A.返回分数最高的5个学生B.返回分数最高的6个学生
C.返回分数最低的5个学生D.返回分数最低的6个学生
57、将中文转码的命令是( C )。
A. java
B. javac
C. native2ascii
D. jar
58、下列接口中,(D )接口可以实现对数据进行持久化操作。
A.Configuration B.SessionFactory
C.Session D.Query
59、下程序代码是对Book类的bookName属性进行修改操作
tx=session.beginTransaction();
Book book =(Book)session.load(Book.class,new Long(1));
book.setBookName("计算机网络") ;
book.setBookName("数据结构") ;
https://www.wendangku.net/doc/756011342.html,mit();
执行以上程序,Hibernate需要向数据库提交几条update语句(B )。
A.0 B. 1 C. 2 D.
60、下程序代码对Stu的name属性修改了两次
tx=session.beginTransaction();
Stu stu =(Stu)session.load(Stu.class,new Long(1));
Stu.setName(“Tom”);
Stu.setName(“Mike”) ;
https://www.wendangku.net/doc/756011342.html,mit();
执行以上程序,Hibernate需要向数据库提交几条update语句(B )。
A.0 B. 1 C. 2 D. 3
61、在Hibernate关系映射配置中,inverse属性的值为true含义是(C )。
A. 定义在
B. 声明在
C. 定义在
D. 声明在
62、( C )是动态拦截Action调用的对象,它提供了一种机制,使开发者可以定义一段代码在Action执行之前或之后被调用执行,也可以在一个Action执行前阻止其执行。
A. 类型转换器
B. 输入校验
C. 拦截器
D. 文件上传下载
63、SSH中,依次处理的哪一层的实现(D )。
A.Struts-业务逻辑层;Hibernate-表现层;Spring-持久层
B.Struts-表现层;Hibernate-业务逻辑层;Spring-持久层
C.Struts-持久层;Hibernate-表现层;Spring-业务逻辑层
D.Struts-表现层;Hibernate-持久层;Spring-业务逻辑层
64、有如下Hibernate的Query查询代码,如果没有查到任何数据,以下说法正确的是(C )。Query q=session.createQuery(“from Users”);
List list=q.List();
A. list是null
B. 抛出SqlException异常
C. list.size=0
D. 抛出NotFoundException异常
65、MVC设计模式的目的是(C )。
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的说法错误的是(A )。
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的持久化的解决方案,是一个优秀的对象关系模型框架。
Hibernate实体间通过关系来相互关联,关联关系主要有一对一关系、一对多关系和多对多关系3种关系。
Spring是一个以AOP 和IOC为核心的轻量级容器框架。
4、在动作类中如果进行数据校验,必须要在Action类中继承ActionSupport类。
5、在Struts2中如果某个动作使用了自定义拦截器,则必须使用Interceptor拦截器,否者Sturts2的流程不能正确执行下去。
6、Spring为我们引入了组件自动扫描机制,他可以在类路径底下寻找标注了注解的类,并把这些类纳入进spring容器中管理。@Service 用于标注业务层组件、@Controller 用于标注控制层组件、@Respository 用于标注数据访问组件,即DAO组件。而@Component泛指组件当组件不好归类的时候,我们可以使用这个注解进行标注。
7、目前流行的数据库连接池有___C3P0___、_____DBCP______、__BONECP_________等。
8、ORM中的“O”代表对象(Object),“R”代表关系(Relation),“M”代表映(Mapping)。ORM的原理是将表中的字段与类中的属性、对象与数据表分别建立映射关系。
9、网页表单中的数据校验总体分为客户端校验,即浏览器校验,如用JavaScript编写的校验代码,另外一种是后台校验,如判断用户是否存在等。
10、版本控制是一种软体工程技巧,籍以在开发的过程中确保由不同人所编辑的同一档案都得到更新。目前流行的版本控制软件有CVS、____SVN和VSS_____等。
11、如果想将struts的编码格式设置为"gbk",则需要在struts.xml文件中
对相应的常量进行配置,配置为
在SSH框架中,Hibernate是一个基于JDBC的持久层解决方案,是一个
优秀的ORM(对象关系模型) 框架。
13、现阶段在JA V A WEB开发中的开源框架很多,其中最主流的当属SSH,即Struts,Spring 和Hibernate。
14、Struts框架中的视图主要由jsp 构成。
15、Validator 框架允许为Struts应用灵活的配置验证规则,无需编程。
16、在Struts2中如果某个动作使用了自定义拦截器,则必须使用Interceptor拦截器,否者Sturts2的流程不能正确执行下去。
17、Struts2的配置文件默认的文件名是struts.xml,可以在通过
18、Hibernate应用通常由四个部分组成,它们是使用Hibernate API的程序和Configuration、SessionFaction 、Session、TransactionFactory。
19、版本控制是一种软体工程技巧,籍以在开发的过程中确保由不同人所编辑的同一档案都得到更新。目前流行的版本控制软件有SVN、___vss和CVS_______等。
20、实体对象的生命周期有3种状态即:瞬时态、持久态和游离态。
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为"001"的详细信息,则执行的命令如下所示,请补充完整(前后
代码略去)。
Query query=session.createQuery("from Kcb where kch=?");
query.setParameter( 0 , "001");
28、在spring中为List类型的对象注入数据时应当采用如下格式:
< list >
< /list >
29、Spring是一个以IOC 和面向切面编程为核心的轻量级容器框架。
30、若从Student类中查询学号为"1034160011"的学生信息,则执行的命令如下所示,请补充完整(前后代码略去)。
Query query=session.createQuery("from Student where xh=:val");
query.setParameter( val , "1034160011");
31、在spring中为Set类型的变量set注入数据时应当采用如下格式:
32、现阶段在JA V A WEB开发中的开源框架很多,其中最主流的当属SSH,即Struts,Hibernate和Spring 。
33、在动作类中如果进行数据校验,必须要在Action类中继承ActionSupport类。
34、ORM中的“O”代表对象(Object),“R”代表关系(Relation),“M”代表映(Mapping),ORM的原理是将对象与数据表、属性与表中的字段分别建立映射关系。35、若从Kcb中查询kch为"001"的详细信息,则执行的命令如下所示,请补充完整(前后代码略去)。
Query query=session.createQuery("from Kcb where kch= ? ");
query.setParameter( 0 , "001");
37、Struts2的配置文件默认的文件名是struts.xml ,可以在通过
38、数据库中的数据表user和实体类Users是一一对应的关系,如果出现表的名称和类的名称不一致的时候应该配置Users.hbm.xml文件中
39、有下列程序段:
当运行该程序时,显示结果是AAA,BBB,CCC 。
40、网页表单中的数据校验总体分为客户端校验,即浏览器校验,如用JavaScript编写的校验代码,另外一种是另外一种是Validator校验,如判断用户是否存在等。
简答题
1、什么是框架?在JavaEE开发中为什么要使用框架?
框架就是程序语言的大的结构流程顺序,标志着一些大致的类型和使用方法,里面封装了一些通用的方法,如数据库访问,一些自定义控件,或第三方控件,你直接拿来用就是了这样开发更快,更高效。一个JavaEE快速开发框架,采用面向声明的开发模式,可以不用编程或极少编程即可实现复杂的数据展示、数据编辑、表单处理等功能,将JavaEE的开发效率提高5倍以上,代码减少60%以上
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("execution(* cn.itcast.service..*.*(..))")
private void anyMethod() {}//
@Before("anyMethod() && args(userName)")//
public void doAccessCheck(String userName) {
}
@AfterReturning(pointcut="anyMethod()",returning="revalue")//
public void doReturnCheck(String revalue) {
}
@AfterThrowing(pointcut="anyMethod()", throwing="ex")//
public void doExceptionAction(Exception ex) {
}
@After("anyMethod()")//
public void doReleaseAction() {
}
@Around("anyMethod()")//
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("serial")
public class ManagerLoginCheck extends AbstractInterceptor{
public String intercept(ActionInvocation ai) throws Exception {
Map session = ai.getInvocationContext().getSession();
String managerName = (String)session.get("managerLoginName");
HttpServletRequest request = ServletActionContext.getRequest();
String currentURL = request.getRequestURI();
if(currentURL.contains("manage")){
if(!(managerName == null || "".equals(managerName.trim()))){
return ai.invoke();
}else{
return "managerLogin";
}
}else{
return ai.invoke();
}
}
}
4、SSH框架集成时需要配置web.xml、struts.xml和beans.xml文件,请说明各个配置文件的作用。
// Web.xml文件配置片段
org.springframework.web.context.ContextLoaderListener
// struts.xml文件配置片段
// beans.xml文件配置片段
请分别说明以上三个配置文件片段的作用:
5、在类MyInter中有方法intercept,请说明intercept方法中每个行代码作用。
package https://www.wendangku.net/doc/756011342.html,;
public class MyInter implements Interceptor {
public String intercept(ActionInvocation invocation) throws Exception
{
Object user=ActionContext.getContext().getSession().get("user");
if(user!=null && user.equals("admin"))
{
return invocation.invoke();
} ActionContext.getContext().put("tip","您还没有登录,请登陆系统");
return "login";}
6、有下面一段程序代码:
String hql="from Student as s order by s.score asc";
Query query=session.createQuery(hql);
Query.setFirstResult(0);
Query.setMaxResult(5);
return query.list();
当执行后,显示的内容是什么?
7、以下是用Struts2实现的登录程序片段,请补充完整程序。
login.jsp程序如下:
<%@ page language="java" contentType="text/html; charset=UTF-8"pageEncoding="UTF-8"%> <%@ taglib prefix="s" uri="______________" %>
LoginAction.java程序如下:
package com.my.action;
import com.opensymphony.xwork2.ActionSupport;
public class LoginAction extends ActionSupport {
private String loginName;
private String password;
public String execute() throws Exception {
return SUCCESS;
}
@Override
public void validate() {
if( ! "admin".equals(loginName)){
_______________("loginName", "不允许此登录名!");
}
}
}
8、SSH框架集成时需要配置web.xml、struts.xml和beans.xml文件,请说明各个配置文件的作用。
// Web.xml文件配置片段
org.springframework.web.context.ContextLoaderListener
// struts.xml文件配置片段
// beans.xml文件配置片段
web.xml文件配置片段功能是:
struts.xml文件配置片段功能是:
beans.xml文件配置片段功能是:
9、有如下程序代码,请补充程序,使其输出"黄淮学院","和谐中国",
"和谐社会"等三个字符串。
// beans.xml文件部分配置信息
//类User
package https://www.wendangku.net/doc/756011342.html,;
public class User {
private int userid;
private String username;
setter方法和getter方法略去
}
//测试类Test
package https://www.wendangku.net/doc/756011342.html,;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.
ClassPathXmlApplicationContext;
public class Test {
public static void main(String[] args){
ApplicationContext ctx = new
ClassPathXmlApplicationContext("beans.xml");
User user = (User)ctx.getBean("user");
System.out.println( );
System.out.println( );
System.out.println( );
}
}
10、使用hibernate框架操作数据库非常的方便,现有一个实体类User和对应的配置都已完成。请你编写一个测试类Test,要求在该类中实现:
(1)将用户名为"hhxy"的用户信息更改为用户名为"zhangsan",密码为"xxgcxy";
(2)从数据库中删除用户名为"zhangsan"的用户。
//hibernate.cfg.xml文件配置片断
name="myeclipse.connection.profile">MyConn
//实体类User
package https://www.wendangku.net/doc/756011342.html,.huanghuai.xxgcxy;
public class User implements java.io.Serializable {
private String username;
private String password;
setter方法和getter方法略去
}
//测试类Test
import java.util.List;
import org.hibernate.Query;
import org.hibernate.Session;
import org.hibernate.Transaction;
import https://www.wendangku.net/doc/756011342.html,er;
import org.util.HibernateSessionFactory;
public class Test {
public static void main(String[] args) {
Session session = HibernateSessionFactory.getSession();
//将一个用户名为"hhxy"的用户信息更改为用户名为"zhangsan",密码设置为"xxgcxy";
//删除用户名为"zhangsan"的用户
HibernateSessionFactory.closeSession();
}
}
11、现有一个程序,主要实现将一个用户的信息添加到数据库中,部分功
能已经完成(Success.jsp和Fail.jsp页面省略),请编写方法实现相应的功能。
//register.jsp文件中的表单信息
//struts.xml文件主要配置信息
name="user" class="https://www.wendangku.net/doc/756011342.html,erAction">
//类User
package com.model;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
@Entity
public class User { //setter方法和getter方法略去@Id
@GeneratedV alue
private int id;
private String username;
private String password; }
//类UserAction
package com.action;
import com.opensymphony.xwork2.ActionSupport; import https://www.wendangku.net/doc/756011342.html,er;
import https://www.wendangku.net/doc/756011342.html,erManager;
public class UserAction extends ActionSupport { private String username;
private String password;
private String password2;
UserManager um = new UserManager();
//setter方法和getter方法略去
@Override
public String execute() throws Exception {
User u = new User();
u.setUsername(username);
u.setPassword(password);
if(um.exists(u)) {
return "fail";
}
um.add(u);
return "success";
}
}
//类UserManager
package com.service;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import https://www.wendangku.net/doc/756011342.html,er;
public class UserManager {
//编写一个函数saveUser,实现将一个用户的信息持久化到数据库中,部分代码已经完成。
public void saveUser(User u)
{
}
//按姓名进行查找功能
public User findByName(String name)
{
}
}
12、请根据文件Book.hbm.xml的内容,写出对应的实体类Book。
13、在struts的标签库中有个if标签,请在代码下方空白处写出带编号的每条语句的功能。
①
②
③
④
14、有如下一段程序代码,请在代码下方空白处写出带编号的每条语句的功能。
共
当前第
共
15、有如下程序代码,请写出运行Test类后输出的结果。
// beans.xml文件部分配置信息
//类User
package https://www.wendangku.net/doc/756011342.html,;
public class User {
private int userid;
private String username;
setter方法和getter方法略去
}
//测试类Test
package https://www.wendangku.net/doc/756011342.html,;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support. ClassPathXmlApplicationContext;
public class Test {
public static void main(String[] args){
ApplicationContext ctx = new
ClassPathXmlApplicationContext("beans.xml");
User user = (User)ctx.getBean("user");
System.out.println(user.getUserid());
System.out.println(user.getUsername());
System.out.println(user.getPassword());
}
}
16、在类MyInter中有方法intercept,请说明intercept方法中每个行代码作用。package https://www.wendangku.net/doc/756011342.html,;
public class MyInter implements Interceptor {
public String intercept(ActionInvocation invocation) throws
Exception {
Object user=ActionContext.getContext().getSession().get("user");
if(user!=null && user.equals("admin")){
return invocation.invoke();
}
ActionContext.getContext().put("tip","您还没有登录,请登陆系统");
return "login";
}
}
17、请写出struts.xml配置文件中带标号的语句功能。
①
②
③
18、阅读下列程序段,请写出Test类的运行结果。
package cn.hhxy.xxgcxy;
public class UserManager {
private String loginTitle;
private String loginName;
setter方法、getter方法及具体功能省略
}
spring配置文件bean.xml内容为:
//导入包略去
public class Test {
public static void main(String[] args){
ApplicationContext ctx = new ClassPathXmlApplicationContext("beans.xml");
UserManager um= (UserManager)ctx.getBean("user");
System.out.print(um.loginTitle);
System.out.print(um.loginName);
}
}
19、阅读下面分页显示记录程序,请补充完整下划线处代码。
共 | 当前第 | 共 | |
">上一页 | ">下一页 |
20、下面代码是SSH架构集成环境下的业务层代码,请完成saveuser方法(对象u的添加)和findbyid方法(按id查找)的代码编写。
package https://www.wendangku.net/doc/756011342.html,;
import javax.annotation.Resource;
import org.hibernate.SessionFactory;
import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional;
@Transactional
public class Serverbean {
@Resource private SessionFactory sessionFactory;
public void saveuser(Stu u)
{
}
public Stu findbyid(Integer id)
{
}
}
21、现有SSH项目,所有各层模块已经编写完成,部分程序需要补充完整。请将代码写在划线处。
// 服务层Serverbean类
package https://www.wendangku.net/doc/756011342.html,;
import java.util.List;
import javax.annotation.Resource;
import org.hibernate.Query;
import org.hibernate.SessionFactory;
import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional;
@Transactional
public class Serverbean {
@Resource private SessionFactory sessionFactory;
public List findbyname(String name)
{
String hql="from Stu as stu where stu.xm='"+name+"'";
Query q=sessionFactory.getCurrentSession().createQuery(hql);
;//返回查询结果
}
}
// 控制层动作类FindbynameAction
package https://www.wendangku.net/doc/756011342.html,;
import java.util.List;
import javax.annotation.Resource;
public class FindbynameAction {
;//注入serverbean对象
private String name;
private List list;
public String findbyname()
{ list=serverbean.findbyname(name);
if (list.size()>0)
{
return "success";
第一章 一.选择题 1.早期的动态网站开发技术主要使用的是()技术。该技术的基本原理是将浏览器提交至Web服务器的数据通过环境变量传递给其他外部程序,经外部程序处理后,再把处理结果传送给Web服务器,最后由Web服务器把处理结果返回浏览器。 A.JSP B.ASP C.PHP D.CGI 2.JSP页面的代码由两个部分组成,它们是()和()。 A.javascript代码 B.vbscript代码 C.HTML代码 D.JSP代码 3.JSP在服务器中进行编译时,将首先被转译成() A.JA V A语言 B.HTML代码 C.servlet D.以上都是 4.在一个JSP页面代码中一定没有的部分是() A.javascript代码 B.JSP指令 C.JSP动作 D.HTML代码 二.问答题 1.简述JSP的基本运行原理。 2.列举出JSP具有的一些特点。
参考答案 一.选择题 1. D 2. C D 3. C 4. A 二.问答题 1.答:首先由浏览器向Web服务器提出访问JSP页面的请求(Request),然后由JSP容器负责将JSP转换成Servlet,产生的Servlet经过编译后生成类文件,然后再把类文件加载到内存进行执行。最后由Web服务器将执行结果响应(Response)给客户端浏览器。 2.答:1. 一次编写,随处运行 2. 可重用组件技术 3. 标记化页面开发 4. 对大型复杂Web应用支持良好 第二章习题 三.选择题 1.下列不是JSP开发工具的是() A.JBuilder B.IBM WebSphere C.MyEclipse D.Firework 2.要建构JSP的开发环境,除了需要安装以上的JSP开发工具外,还必须安装()和() A.JDK B.Dreamweaver MX C.Flash MX D.Tomcat 3.JSP隶属Java家族,下列不属于JA V A家族的是() A.servlet B.javabean C.java D.javascript 4.web应用程序体系结构最多可分为三层,不属于这三层的是() A.表示层 B.业务层 C.数据访问层 D.网络链接层
1.7 习题 1. 单选题 (1)在HTML中超链接标记为() A.和 B.
1.B 编写一个Filter,需要() A. 继承Filter 类 B. 实现Filter 接口 C. 继承HttpFilter 类 D. 实现HttpFilter接口 2.D 自定义标签的配置文件放在________ A. WebRoot B. lib C. classes D. WEB-INF 3. ABC 有关会话跟踪技术描述正确的是( )(多选) A. Cookie是Web服务器发送给客户端的一小段信息,客户端请求时,可以读取该信息发送到服务器端。 B. 关闭浏览器意味着会话ID丢失,但所有与原会话关联的会话数据仍保留在服务器上,直至会话过期。 C. 在禁用Cookie时可以使用URL重写技术跟踪会话。 D. 隐藏表单域将字段添加到HTML表单并在客户端浏览器中显示。 4.C 在J2EE中,重定向到另一个页面,以下()语句是正确的 A. request . sendRedirect(“http :// www . svse . com . cn”); B. request . sendRedirect(); C. response . sendRedirect(“http: // www . svse . com . cn”); D. response .sendRedirect(); 5.B EL表达式,${10 mod 3},执行结果为( ) A. 10 mod 3 B. 1 C. 3 D. null 6. C 自定义标签的作用是( ) A. 编写和使用方便 B. 规定是这样的,如果不用,别人会说我们不专业 C. 可以减少jsp中的java代码,将代码与界面标签分离,简化前台开发 D. 连数据库 7.B request.getRequestDispatcher().forward(request,response)称之为( ) A. 流转 B. 转发 C. 重定向 D. 导航 8. BCD 有关Servlet的生命周期说法正确的有( ) (多选) A. Servlet的生命周期由Servlet实例控制。 B. init()方法在创建完Servlet实例后对其进行初始化,传递的参数为实现ServletContext 接口的对象。 C. service()方法响应客户端发出的请求。 D. destroy()方法释放Servlet实例。 9.B 在J2EE中,给定某Servlet的代码如下,编译运行该文件,以下陈述正确的是()。(选择一项) Public class Servlet1 extends HttpServlet{ public void init() throws ServletException{ } public void service(ServletRequest request, ServletResponse response) throws ServletException, IOException { PrintWriter out = response.getWriter(); out.println("hello!"); } A. 编译该文件时会提示缺少doGet()或者dopost()方法,编译不能够成功通过 B. 编译后,把Servlet1.class放在正确位置,运行该Servlet,在浏览器中会看到输出文字:hello!
表单中要提交数据到指定的处理文件由表单的( C )属性指定。 A. method B. name C. action D. 以上都不对 以下URL中语法不正确的是( D ) A. https://www.wendangku.net/doc/756011342.html,:80/download/home.html B. telnet://https://www.wendangku.net/doc/756011342.html,:70 C. ftp://https://www.wendangku.net/doc/756011342.html, D. https://www.wendangku.net/doc/756011342.html, 要运行JSP程序,下列说法不正确的是( B ) A. 服务器端要安装Servlet容器,如Tomcat等 B. 客户端需要安装Servlet容器,如Tomcat等 C. 服务器端需要安装JDK D. 客户端需要安装浏览器,如IE等 当发布Web应用程序时,通常把Web应用程序的目录及文件放到Tomcat的( C )目录下。 A. work B. temp C. webapps D. conf 下面关于HTTP说法不正确的是( D ) A. HTTP是Web应用所使用的主要协议 B. HTTP是一种超文本传输协议,是基于请求响应模式的 C. HTTP是无状态协议 D. HTTP的请求和响应消息如果没有发送并成功传递,则HTTP可以保存已传递的信息 下面关于Servlet的描述错误的是( C ) A. 一个Servlet就是Java中的一个类 B. Servlet是位于Web服务器内部的服务器端的Java应用程序 C. Servlet可以由客户端的浏览器解释执行 D. 加载Servlet的Web服务器必须包含支持Servlet的Java虚拟机 有关Servlet的调用,下列说法错误的是( D ) A. 可以通过在浏览器的地址栏中输入URL来调用Servlet B. 可以通过表单的action属性来调用一个Servlet接受表单信息 C. 可以在
二、判断题(每题1分,共20分) ×√ 静态网页服务器端返回的HTML文件是事先存储好的。√ 动态网页服务器端返回的HTML文件是程序生成的。√ Tomcat用于JSP技术所开发网站的服务器。√ Web开发技术包括客户端和服务器端的技术。√ Tomcat和JDK都不是开源的。× Tomcat是一个免费的开源的Serlvet容器。√ 在HTML页面文件中加入JSP脚本元素、JSP标记等就构成了一个JSP页面。√ JSP和Java一样具有平台独立性。√ JSP在运行之前必须转换成Servlet。√ JSP网页中一定包含JSP程序。× JSP第一次执行的速度要比第二次执行的速度慢。√ 运行JSP程序只需要浏览器即可。× 开发JSP必须使用JDK工具包。√ 安装完JDK后,会自动配置环境变量。× Tomcat是Web服务器,不提供JSP引擎和Servlet引擎。× Tomcat的端口一旦配置好,就不可以再改变。× 在MVC模式的Web开发中,“视图”、“模型”和“控制器”分别对应着“JSP页面”、“JavaBean”和“Serlvet”,以Servlet为核心。√ JSP页面中的指令标记、JSP动作标记统称为脚本元素。× 在“<%!”和“%>”标记之间声明的Java的变量在整个页面内有效,不同的客户之间不共享。× 在“<%!”和“%>”标记之间声明的Java的方法在整个页面内有效。√ 页面成员方法不可以在页面的Java程序片中调用。× JSP中Java表达式的值由服务器负责计算,并将计算值按字符串发送给客户端显示。√ 不可以用一个page指令指定多个属性的取值。×
第1章WEB开发环境 (1)下列关于WEB开发说法正确的是。 A)Web是图形化的和易于导航的B)Web与平台无关 C)Web是分布式的D)Web 是动态的E)Web 是静态的 (2)下列关于Tomcat说法正确的是。 A)Tomcat是一种编程语言B)Tomcat是一种开发工具C)Tomcat是一种编程思想 D)Tomcat是一种开编程规范E)Tomcat是一个免费的开源的Serlvet容器 (3)下列关于Tomcat个目录说法错误的是。 A)bin目录--包含启动/关闭脚本B)conf目录——包含不同的配置文件 C)Lib目录--包含Tomcat使用的JAR文件 D)webapps目录--包含web项目示例,发布web应用时,默认情况下web文件夹放于此目录下E)work目录--包含web项目示例,当发布web应用时,默认情况下把web文件夹放于此目录下 (4)下列关于HTTP协议说法正确的是。 A)HTTP是一种请求/响应式的协议 B)HTTP请求消息中Accept表示浏览器可接受的MIME类型 C)HTTP请求消息中Accept-Encoding表示浏览器能够进行解码的数据编码方式 D)HTTP请求消息中Accept-Language表示浏览器所希望的语言种类 E)HTTP请求消息中Host表示初始URL中的主机和端口。 (5)下列对于JSP说法中正确的是。 A)JSP是Sun公司推出的新一代站点开发语言B)JSP采用标识简化页面开发 C)JSP完全解决了目前ASP、PHP的一个通病——脚本级执行 D)JSP将内容的生成和显示进行分离E)JSP强调可重用的组件 第2章JSP编译指令 (1)下列关于JSP编译指令说法错误的是。 A)编译指令用于从JSP发送一个信息到容器上 B)编译指令用来设置全局变量、声明类要实现的方法和输出内容的类型等 C)编译指令向客户端产生任何输出D)编译指令所有的指令都在整个JSP页面内有效 E)编译指令元素为编译阶段提供了全局信息 (2)下面关于page指令说法中错误的是。 A)page指令用来定义JSP页面中的全局属性B)一个JSP页面只能包含一个page指令 C)除了import外,其他page指令定义的属性/值只能出现一次。 D)language属性用来指示所使用的语言E)“java”是当前唯一可用的JSP语言 (3)下面关于page指令的属性说法错误的是。 A)import属性用于指定导入哪些包 B)contenttype属性用来指定JSP页面的字符编码和响应的mime类型
华南农业大学期末考试试卷(A 卷) 2011学年第2学期 考试科目: 软件开发基础(Java ) 考试类型:(闭卷)考试 考试时间: 120 分钟 学号 姓名 年级专业 答题说明:所有答案必须写在答卷的指定位置,考试结束时只交答卷。 一、选择题(本大题共20小题,每小题1分,共20分) 说明:将选项答案按序号写在答卷上。 1. HTML 页面中,定义浏览器标题的