ssm开源框架期末复习题

这篇具有很好参考价值的文章主要介绍了ssm开源框架期末复习题。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

题目

01.下面关于AOP的说法错误的是()。

A.AOP将散落在系统中的“方面"代码集中实现
B.AOP有助于提高系统的可维护性
C.AOP已经表现出了将要代替面向对象的趋势
D.AOP是一种设计模式Spring提供了一种实现

02.下面关于Spring的说法中,错误的是( )。

A.Spring是一个轻量级的框架
B.Spring中包含一个“依赖注入"模式的实现
C.使用Spring可以实现声明式事务
D.Spring提供了AOP方式的日志系统

03.关于声明事务的说法,下面说法错误的是( )。

A.Spring采取AOP的方式实现声明式事务
B.声明式事务是非侵人式的,可以不修改原来代码就给系统增加事务
C.配置声明式事务需要tx和aop两个命名空间的支持
D.配置声明式事务主要关注在哪儿”和“采取什么样的事务策略"

04.下列哪个选项()不是依赖注人的方式。

A.构造器
B.Setter
C.接口
D.AOP

05.Spring的IoC容器默认Bean的作用域是()。

A.singleton
B.prototype
C.request
D.session

06.下面有关Spring MVC的说法错误的是()

A.Spring MVC是MVC模式的一种实现
B.Spring MVC是Spring的一个模块
C.Spring MVC支持多种视图,如JSP等
D.Spring MVC也是一种设计模式

07.Spring MVC的核心控制器是一个()。

A.Filter
B.Servlet
C.Listener
D.Controller

08.有关@RequestMapping注解的作用。正确的说法是()。

A.这个注解只能作用于类上
B.这个注解的作用是用于映射处理请求的类或方法
C.这个注解只能作用于方法上
D.这个注解只能处理GET请求

09.有关Spring MVC中@Controller注解的说法,错误的是()。

A.可以标注一个类
B.这个注解可以与@RequestMapping结合使用
C.可以标注一个方法
D.可以通过包扫描机制加载@Controller标注的类

10.在控制器的请求处理方法中,如果返回结果中既包含数据,也包含视图,则可以考虑使用返回类型()

A.Model
B.ModelAndView
C.String
D.ResponseBody

11.定义拦截器时,如果想在控制器方法被调用前执行一段代码,应该将代码写在如下的()方法中。

A.postHandle
B.afterCompletion()
C.preHandle()
D.handler()

12.在Spring MVC中实现文件的上传,在JSP页面中()不是必需的。

A.form表单的method属性设置为post
B.form表单的enctype属性设置为multipart/form-data
C 设置<input>标签的type="file"
D 设置<input>标签的type="text"

13.@RequestHeader注解的作用是获取请求头文件的信息,如果想获取浏览器的类型信息,选项()是正确的。

A.@RequestHeader("Accept-Language")
B.@RequestHeader("Content-Length")
C.@RequestHeader("Authorization")
D.@RequestHeader("User-Agent")

14.在JSP页面中使用Spring MVC标签checkboxes时,在控制器的请求处理方法中接收选中的标签选项变量的类型是()

A.String
B.String[]
C.List<String>
D.char[]

15.在Spring MVC中用于数据类型转换的接口有3个,其中( )不 属于类型转换接口。

A.GenericConverter
B.ConverterFactory
C.Converter
D.DataConverter

16.SpingMVC中的控制器的注解一般用哪个?

A.@NULL
B.@RequestMapping
C.@Controller
D.@RequestBody

17.下列哪一个不是HandlerInterceptor接口中定义了三个方法.

A.preHandle()
B.postHandle()
C.afterCompletion()
D.afterHandle()

18.Spring MVC框架中的拦截器不可以

A.进行权限验证
B.防止SQL注入
C.记录请求信息的日志
D.判断用户是否登录

19.下列不属于MyBatis内置日志工厂代理工具的是

A.Log4j
B.SLF4J
C.JDK logging
D.Commons Logging

20.Spring MVC中的( )类似于Servlet中的过滤器,主要用于拦截用户请求并作相应的处理

21.@DateTimeFormat注解可以对( )类型的属性进行标注

22.MyBatis框架是( )的一种实现。

23.在映射文件中,( )是映射文件的根元素。

24.MyBatis的强大特性之一是它的( )

25.( )(DI)与IOC的含义相同, 只不过这两个称呼是从两个角度描述同一个概念。

26.依赖注入包括( )( )( )3种方式。

27.Bean的作用域一共有6种,最常用的两种为( )( )。

28.Spring IOC容器中支持的3种Bean装配方式非别为( )( )( )

29.MVC设计模式的任务是将包含业务数据的模块与显示模块的视图进行( )

30.Spring MVC基于注解的开发主要是@Controller和@RequestMapping,其中( )主要用于类上,( )可以用在类上也可以用在方法上。

31.@Controller注解用于标注类的实例是一个( )

32.控制器在请求处理方法中在返回的参数类型中,如果只封装数据可以用( )进行封装,如果是数据和视图同时存在可以用( )进行封装。

33.Spring提供了一组全面的可绑定数据的( )用于处理表单元素。

34.( )是一种轻量级的数据交换格式,采用完全独立于编程语言的文本格式存储和表示数据。

35.MyBatis的关键对象( ),是执行持久化操作的对象,类似于JDBC中的Connection

36.什么是MyBatis?

什么是MyBatis?

MyBatis是一个可以自定义SQL存储过程和高级映射的持久层框架

37.MyBatis框架适用于哪些场合?

MyBatis框架适用于哪些场合?

对性能的要求很高,或者需求变化较多的项目专注于SQL本身,是一个足够灵活的DAO层解决方案

38.#{}和${}的区别是什么?

#{}和${}的区别是什么?

#{}在预编译的时候处理,用?来代替#{},调用preparedstatement的set方法来赋值,防止SQL注入
${}是直接字符串替换,有些无法用预编译处理的场景可以用,比如要传递SQL的列名,根据某些列进行排序。

39.什么时候需要使用《resultMap》标签?

什么时候需要使用<resultMap>标签?

一般我们在Mybatis中使用查询语句的时候,如果查询到的结果不能使用resultType反应出来的时候,可以采用resultMap标签来解决数据查询不到的困难问题。

40.动态SQL包括哪些标签?

动态SQL包括哪些标签?

<if> <where> <foreach> <sql>

41.什么是MVC模式?

什么是MVC模式?

软件架构模式,是一种三层架构模式,主要有模型(Model)、视图(View)、控制器(Controller)
	Model(模型)是应用程序中用于处理应用程序数据逻辑的部分。通常模型对象负责在数据库中存取数据。
	View(视图)是应用程序中处理数据显示的部分。通常视图是依据模型数据创建的。
	Controller(控制器)是应用程序中处理用户交互的部分。通常控制器负责从视图读取数据,控制用户输入,并向模型发送数据

42.SpringMVC的执行流程?

SpringMVC的执行流程?

用户发送请求至前端控制器
收到请求后调用处理器,映射器请求获取Handle
处理器,映射器根据请求url找到具体的处理器
前端控制器,调用处理器映射器
处理器应是起经过适配调用具体处理器

43.Spring MVC的主要组件?

Spring MVC的主要组件?

前端控制器
处理器映射器
处理器适配器
视图解析器
视图渲染

44.SpringMVC怎么样设定重定向和转发的?

SpringMVC怎么样设定重定向和转发的?

请求转发在服务器端完成的;重定向是在客户端完成的。
请求转发的速度快;重定向速度慢。
请求转发的是同一次请求;重定向是两次不同请求。
请求转发不会执行转发后的代码;重定向会执行重定向之后的代码。
请求转发地址栏没有变化;重定向地址栏有变化。
请求转发必须是在同一台服务器下完成;重定向可以在不同的服务器下完成。

45.SpringMVC中可配置多个拦截器,每个拦截器中都有三个方法,请分别写出三个方法以及用法。

SpringMVC中可配置多个拦截器,每个拦截器中都有三个方法,请分别写出三个方法以及用法。

1、preHandle(): 在Controller处理请求之前被调用,一个请求中可以同时存在多个Interceptor,调用会依据它的声明顺序依次执行。最先执行的是Interceptor中的preHandle方法。
2、postHandle(): 这个方法在Controller方法处理当前请求之后执行,在DispatcherServlet进行视图返回渲染之前被调用,可以对Controller处理之后的ModelAndView对象进行操作
3、afterCompletion(): 这个方法需要当前对应的Interceptor的preHandle方法的返回值为true时才会执行。该方法在DispatcherServlet渲染了对应的视图之后执行。这个方法的主要作用是进行资源清理。

46.使用Spring框架的好处是什么?

使用Spring框架的好处是什么?

它可以使应用程序代码对框架的依赖最小化可以将所有对象的创建和依赖关系的维护工作都交给spring容器管理,大大降低了组件之间的耦合性他允许将一些通用任务如安全事务日志等进行集中式处理,从而提高了程序的复用性

47.什么是Spring的依赖注入?

什么是Spring的依赖注入?

依赖注入,是IOC的一个方面,通俗解释是不用创建对象,而只需要描述它如何被创建。你不在代码里直接组装你的组件和服务,但是要在配置文件里描述哪些组件需要哪些服务,之后一个容器(IOC容器)负责把它们组装起来。

48.有哪些不同类型的IOC (依赖注入)方式?

有哪些不同类型的IOC (依赖注入)方式?

构造器依赖注入:构造器依赖注入通过容器触发一个类的构造器来实现的,该类有一系列参数,每个参数代表-个对其他类的依赖。
Setter方法注入:Setter方法注入是容器通过调用无参构造器或无参static工厂方法实例化bean之后,调用该bean的setter方法,即实现了基于setter的依赖注入。

49.Mybatis有哪些优缺点

Mybatis有哪些优缺点

优点:
1、与JDBC相比,减少了大量的代码量
2、简单的持久化框架,易于, 上手.
3、灵活,SQL写在XML里面,从程序代码中分离,降低耦合度,便于管理
4、提供XML标签,支持动态编写SQL语句(if,else)
5、提供映射标签,支持对象与数据库字段的映射
缺点
1.要写大量的SQL语句
2.不能随意更换数据库

50.请写出用动态SQL完成单表的修改和查询操作的实现思路和步骤。

请写出用动态SQL完成单表的修改和查询操作的实现思路和步骤。

新建报表添加报表参数
添加内嵌数据集
使用静态SQl语句获取字段列表
将静态语句修改为动态语句

51.要使用Spring MVC中拦截器,需要对拦截器类进行定义和配置请按照提示补充完善下列拦截器类

代码:
package com.interceptor;
import ..
public interface Handlerlnterceptor{
	//该方法在控制器方法被调用前执行
	default boolean__1_ (httpServletRequet request, HttpServletResponse response,Object handler) throws Exception {
		return true;
	}
	//该方法在控制器方法被调用后执行
	default void__2_ (HttpServletRequest request,HttpServletResponse response, Object handler, @Nullable ModelAndView modelAndView) throws Exception {}
	//该方法在视图渲染结束后执行
	default void__3_ (HttpServletRequest request,HttpServlet-Response response, Object handler, Nullable Exception ex) throws Exception{
	}
}
请按照提示补充完善下列控制器类代码:
import ...
@__4_ //设置为控制类注解
public class HelloController {
	@RequestMapping("/hello")
	public ModelAndView handleRequest(HttpServletRequest request, HttpServletResponse response) throws Exception {
		//创建ModelAndView对象
		__5_mv=new ModelAndView();
		//将信息保存在ModelAndView对象,这个对象中
		的值可从传递到JSP页面
	}
}
(1) preHandle
(2) postHandle
(3) afterCompletion
(4) @Controller
(5) ModelAndView

52.基于组件扫描注解装配Bean (按照步骤完善程序内容)

1.创建一个服务接口CustomerService;
2.创建CustomerService接口的实现类
CustomerServicelmpl;
public class CustomerServicelmpl implements (1)____{
}
3.创建控制器类CustomerController;
package com.ssm.service;
public class CustomerController ...
4.创建Spring配置文件;
<beans xmlns="http//www.springframework.org/schema/beans"
<!--此处customerController相当于创建-个控制器对象-->
<bean (2)____="CustomerService" class="(3)____"/></beans>
5.创建测试类;
public class TestAnnotationConfig {
	public static void main(String[] args) {
	//读取配置文件的信息
	(4)____context = new ClassPathXmlApplicationContext("springAnnotationConfig.xml");
	//获取第一个CustomerController实例
	CustomerController cus = context.(5)____("customerController".CustomerController.class);
	//打印Customer的信息
	cus.save();
	]
}
(1) CustomerService
(2) id
(3) com.ssm.service.CustomerController
(4) ApplicationContext
(5) getBean

53.基于注解开发的示例(补充完善程序)

基于注解开发的示例(补充完善程序)
基于Spring MVCzhujie的方式完成一个用户注册和登录:
创建项目,添加JAR包;
配置web.xml配置文件;
创建Controller控制器类;
package com.controller;
@Controller
//响应所有user路径下的处理请求
@(1)____(value="/user")
@SessionAttributes(names= {"regDate","user"})
public class UserController {
@PostMappinglvalue="/reg")/这是处理用户注册的方法,响应user/reg.do的处理请求
public String reg(User user ,Model model){ //user为响应请求的参数,接收用户的信息
	model.(2)____("user',user/;//将user信 息保存到Model对象中
	return "forward:toLogin.do"//方法处理结束转发到toLogin方法
}...
创建Spring MVC的配置文件
<beans xmlns"http://www.springframework.org/schema/beans" ...
	<!--指定需要扫描的包为控制器类所在包-->
	<context:component-scan base-package="(3)____"/>
	<!--定义视图解析器-->
	<bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
	<!--设置前缀-->
	<property name="(4)____"value="/WEB-INF/jsp/"/>
	<!--设置后缀-->
	<property name="(5)____"value=".jsp"/>
	</bean>
</beans>
(1) RequestMapping
(2) addAttribute
(3) com.controller
(4) prefix
(5) suffix

答案

选择

01-05:C D C D A
06-10:D B B C B
11-15:C D D C D
16-19:C D B D

填空

20.拦截器
21.时间
22. ORM
23.《Mapper》
24.动态SQL
25.依赖注入
26.构造器注入,Setter注入,接口注入
27.singleton, prototype
28.基于XML装配Bean , 基于注解装配Bean , 基于组件扫描注解装配Bean
29.解耦
30.@Controller , @RequestMapping
31.控制器
32.Model , ModelAndView
33.标签库
34.JSON
35.SqlSession文章来源地址https://www.toymoban.com/news/detail-448642.html

到了这里,关于ssm开源框架期末复习题的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【Oracle】期末复习题

    目录 一. 单选题(共164 题) 二. 多选题(共14 题) 三. 填空题(共4 题) 四. 分析题(共五题) 一)考生子系统 三)考试存储方案 四)铁路12306 五)顺丰快递 1.   快速恢复区是为保存归档日志、备份、闪回日志等内容在磁盘上专门留出的空间。一般情况下,建议快速恢复

    2024年01月16日
    浏览(53)
  • 操作系统期末复习题

    一、简答 1. 什么是进程?它与程序相比有哪些特性? 进程是进程实体的运行过程,是系统进行资源分配和调度的基本单位。 动态性、独立性、并发性 2. 什么是进程?进程静态实体的组成是什么? 程序、数据集合、进程控制块PCB 3. 进程的三种基本状态是什么?画出进程的三

    2024年02月11日
    浏览(61)
  • 软件工程-期末复习题

    第1章软件工程概述 1、软件的概念及特点 概念: 计算机软件是由专业人员开发并长期维护的软件产品。完整的软件产品包括了在各种不同容量和体系结构计算机上的可执行的程序,运行过程中产生的各种结果,以及以硬复制和电子表格等多种方式存在的软件文档 特点: 1)

    2024年02月13日
    浏览(46)
  • python二级和期末复习题

    2023年04月12日
    浏览(71)
  • 算法设计与分析期末复习题

    1.应用Johnson法则的流水作业调度采用的算法是(D) A. 贪心算法 B. 分支限界法 C.分治法 D. 动态规划算法 2.Hanoi塔问题如下图所示。现要求将塔座A上的的所有圆盘移到塔座B上,并仍按同样顺序叠置。移动圆盘时遵守Hanoi塔问题的移动规则。由此设计出解Hanoi塔问题的递归算法正

    2024年02月09日
    浏览(36)
  • 【期末复习】2021-20222南邮网络安全技术复习题

    1. 计算机安全的核心内容:机密性,完整性,可用性(选择判断) 其中 机密性 又包含数据机密性和 隐私性 隐私性 :保证个人可以控制和影响与之相关的信息,这些信息有可能被收集、存储、和泄露 2. 拒绝服务 可以阻止或禁止对通信设备的正常使用或管理。(选择) 3.

    2024年02月09日
    浏览(61)
  • c#期末复习题重点难点题

    2. (单选题, 9分)在.NET中,.NET Framework由( )组成。 A. FCL和CLR   -开发库和运行环境 B. ADO.NETASP.NET  -数据操作和web框架 C. CLS和CTS  -语法规范和类型规范  即所有语言和语法规范 和 各语言间的类型互操作性规范 D. Winform和ASP.NET  -控件库和web框架 解析: 正确答案是A. FCL和CL

    2023年04月25日
    浏览(42)
  • 【数据结构】——期末复习题题库(1)

    🎃个人专栏: 🐬 算法设计与分析:算法设计与分析_IT闫的博客-CSDN博客 🐳Java基础:Java基础_IT闫的博客-CSDN博客 🐋c语言:c语言_IT闫的博客-CSDN博客 🐟MySQL:数据结构_IT闫的博客-CSDN博客 🐠数据结构:​​​​​​数据结构_IT闫的博客-CSDN博客 💎C++:C++_IT闫的博客-CSDN博

    2024年02月03日
    浏览(56)
  • 微机原理与接口技术期末复习题

    一、单项选择 题 (10小题,每小题2分,共20分) 1、某数在计算机中用压缩BCD码表示为10010011,其真值为(  )。   A. 10010011B B. 93H C.93 D. 147 2、8086/8088CPU最大和最小工作方式的主要差别是(  )。    A. 数据总线的位数不同 B. 地址总线的位数不同 C. I/O端口数的不同 D.  

    2024年02月09日
    浏览(36)
  • Python期末复习题:组合数据类型

    有10 名同学的python 课程成绩分别为:94, 89, 96, 88, 92, 86, 69, 95, 78,85。 要求利用列表分析成绩,输出平均值、最高的3个成绩和最低的3个成绩、成绩中位数(是按顺序排列的一组数据中居于中间位置的数,如果观察值有偶数个,通常取最中间的两个数值的平均数作为中位数)。

    2024年02月05日
    浏览(54)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包