《Java EE企业级应用开发教程(Spring+Spring MVC+MyBatis)》_课后习题 联系客服

发布时间 : 星期五 文章《Java EE企业级应用开发教程(Spring+Spring MVC+MyBatis)》_课后习题更新完毕开始阅读84167082fbd6195f312b3169a45177232e60e42f

第十二章

【思考题】

1、请简述@Controller注解的使用步骤。

2、请列举请求处理方法的参数类型和返回类型(至少5个)。

【答案】

1、@Controller注解在使用时可分为如下两步: (1)在相应的类上标注@Controller注解。

(2)在Spring MVC的配置文件中添加相应的扫描配置信息。首先需要在配置文件中引入context名称空间的配置,然后使用元素指定需要扫描的类包。

2、请求处理方法的参数类型主要有:HttpServletRequest、HttpServletResponse、HttpSession、Model、HttpMethod等;

请求处理方法的返回类型主要有:ModelAndView、Map、String、void、HttpEntity、View等。

第十三章

【思考题】

1、请简述简单数据类型中的@RequestParam注解及其属性作用。 2、请简述包装POJO类型绑定时的注意事项。

【答案】

1、@RequestParam注解主要用于对请求中的参数进行定义,多用于在请求参数名与方法形参名不一致时的参数间接绑定。在使用时可以指定他的4个属性,具体如下:

(1)value:name属性的别名,这里指参数的名字,即入参的请求参数名字,如果只使用vaule属性,则可以省略value属性名。

(2)name:用于指定请求头绑定的名称。 (3)required :用于指定参数是否必须,默认是true,表示请求中一定要有相应的参数。 (4)defaultValue:默认值,表示如果请求中没有同名参数时的默认值。

2、在使用包装POJO类型数据绑定时,前端请求的参数名编写必须符合以下两种情况: (1)如果查询条件参数是包装类的直接基本属性,则参数名直接用对应的属性名,如上面代码中的ordersId;

(2)如果查询条件参数是包装类中POJO的子属性,则参数名必须为“对象.属性”,其中“对象”要和包装POJO中的对象属性名称一致,“属性”要和包装POJO中的对象子属性一致。

第十四章

【思考题】

1、请简述JSON数据交互两个注解的作用。 2、请简述静态资源访问的几种配置方式。

【答案】

1、JSON数据交互时,主要使用了两个注解@RequestBody和@ResponseBody。其中@RequestBody用于将请求体中的数据绑定到方法的形参中,在使用时标准在在方法的形参上。@ResponseBody用于直接返回return对象,在使用时标准在方法上。

2、静态资源访问的配置有3种方式,分别如下:

1)使用元素用于配置静态资源的访问路径。 2)使用标签,可以访问所有静态资源。 3)激活Tomcat默认的Servlet来处理静态文件访问。

第十五章

【思考题】

1、请简述Spring MVC拦截器的定义方式。

2、请简述单个拦截器和多个拦截器的执行流程。

【答案】

1、通常拦截器类可以通过两种方式来定义。一种是通过实现HandlerInterceptor接口,或继承HandlerInterceptor接口的实现类(如HandlerInterceptorAdapter)来定义;另一种是通过实现WebRequestInterceptor接口,或继承WebRequestInterceptor接口的实现类来定义。

2、单个拦截器在执行时,程序首先会执行拦截器类中的preHandle()方法,如果该方法的返回值为true,则程序会继续向下执行处理器中的方法,否则将不再向下执行;在业务处理器(即控制器Controller类)处理完请求后,会执行postHandle()方法,然后会通过DispatcherServlet向客户端返回响应;在DispatcherServlet处理完请求后,才会执行afterCompletion()方法。

当有多个拦截器同时工作时,它们的preHandle()方法会按照配置文件中拦截器的配置顺序执行,而它们的postHandle()方法和afterCompletion()方法则会按照配置顺序的反序执行。