内容发布更新时间 : 2024/11/18 19:32:33星期一 下面是文章的全部内容请认真阅读。
第十五章
【思考题】
1、请简述Spring MVC拦截器的定义方式。
2、请简述单个拦截器和多个拦截器的执行流程。
【答案】
1、通常拦截器类可以通过两种方式来定义。一种是通过实现HandlerInterceptor接口,或继承HandlerInterceptor接口的实现类(如HandlerInterceptorAdapter)来定义;另一种是通过实现WebRequestInterceptor接口,或继承WebRequestInterceptor接口的实现类来定义。
2、单个拦截器在执行时,程序首先会执行拦截器类中的preHandle()方法,如果该方法的返回值为true,则程序会继续向下执行处理器中的方法,否则将不再向下执行;在业务处理器(即控制器Controller类)处理完请求后,会执行postHandle()方法,然后会通过DispatcherServlet向客户端返回响应;在DispatcherServlet处理完请求后,才会执行afterCompletion()方法。
当有多个拦截器同时工作时,它们的preHandle()方法会按照配置文件中拦截器的配置顺序执行,而它们的postHandle()方法和afterCompletion()方法则会按照配置顺序的反序执行。
第十六章
【思考题】
1、请简述上传表单需要满足的3个条件。
2、请简述如何解决中文文件名称下载时的乱码问题。
【答案】
1、文件上传表单需要满足的3个条件如下: (1)form表单的method属性设置为post;
(2)form表单的enctype属性设置为multipart/form-data;
(3)提供
2、解决中文文件名称下载时的乱码问题,需要从前端页面发送请求前先对中文名进行统一编码,然后在后台控制器类中对文件名称进行相应的转码。在具体实现时可分为如下两步:
(1)在下载页面中对中文文件名编码。可以使用Servlet API中提供的URLEncoder类中的encoder(String s, String enc)方法将中文转为UTF-8编码。
(2)在后台控制器类中对文件名根据不同的浏览器进行相应的转码。
第十七章
【思考题】
1、请简述SSM框架整合思路。
2、请简述SSM框架整合时,Spring配置文件中的配置信息。
【答案】
1、由于Spring MVC是Spring框架中的一个模块,所以Spring MVC与Spring之间不存在整合的问题,只要引入相应JAR包就可以直接使用。因此SSM框架的整合就只涉及到了Spring与MyBatis的整合,以及Spring MVC与MyBatis的整合。Spring与MyBatis框架的整合时,通过Spring实例化Bean,然后调用实例对象中的查询方法来执行MyBatis映射文件中的SQL语句的,如果能够正确查询出数据库中的数据,那么就可以认为Spring与MyBatis框架整合成功。加入Spring MVC后,如果可以通过前台页面来执行查询方法,并且查询出的数据能够在页面中正确显示,那么就可以认为三大框架整合成功。
2、SSM框架整合时,Spring配置文件中配置信息主要包括: (1)读取数据库常量配置文件db.properties的配置信息; (2)数据源的配置信息; (3)事务管理器的配置信息; (4)开启事务注解的配置;
(5)MyBatis工厂SqlSessionFactory的配置信息; (6)mapper文件扫描器的配置; (7)扫描Service层的配置。
第十八章
【思考题】
1、请简述系统中各个层次的组成和作用。
2、请简述引入SQL文件的过程。
【答案】
1、BOOT客户管理系统根据功能的不同,将项目结构主要划分为以下几个层次: (1)持久对象层(也称持久层或持久化层):该层由若干持久化类(实体类)组成。 (2)数据访问层(DAO层):该层由若干DAO接口和MyBatis映射文件组成。接口的名称统一以Dao结尾,且MyBatis的映射文件名称要与接口的名称相同。
(3)业务逻辑层(Service层):该层由若干Service接口和实现类组成。在本系统中,业务逻辑层的接口统一使用Service结尾,其实现类名称统一在接口名后加Impl。该层主要用于实现系统的业务逻辑。
(4)Web表现层:该层主要包括Spring MVC中的Controller类和JSP页面。Controller类主要负责拦截用户请求,并调用业务逻辑层中相应组件的业务逻辑方法来处理用户请求,然后将相应的结果返回给JSP页面。
2、引入SQL文件主要步骤如下: (1)创建数据库;
(2)选择所创建的数据库;
(3)使用source命令导入数据库文件