面试题:36(完成)

1.说一下springMVC支持的转发和重定向的写法;

转发:
在返回值前面加上forward
重定向:
在返回值前面加上redirect

2.谈一下springMVC统一异常处理的思想和实现方式;

springMVC框架相当于代码的调用者,所以最终的异常是会抛到springmvc框架中,我们可以指定一个类统一处理springMVC框架中的异常。
首先使用@ControllerAdvice注解定义某个类为统一处理异常的类,然后在方法上加上注解@ExceptionHandler,再调用exceptionHandler中的value属性指定处理的异常类型。
优点:可以减少代码的冗余。

3.在springMVC中,如果想通过转发将数据传递到前台,有几种写法?

有四种写法:

  1. 直接使用request作用域进行数据的传输。

request.setAttirbuate(“name”, value);

  1. 使用model进行传值,底层会将数据放在request作用域中进行传输。

model.addAttribuate(“name”, value);

  1. 使用modelmap进行传值,底层会将数据放在request作用域中进行传输。

modelmap.put(“name”,value);

  1. 借用modelandview在其中设置数据和视图进行传输。

mv.addObject(“name”,value);
mv.setView(“success”);
return mv;

4.在springMVC中拦截器的使用步骤是什么样的?

创建一个类并实现HandlerInterceptor接口并重写接口中的三个方法:

  1. preHandle方法:在调用处理器之前调用该方法,如果该方法返回true则请求继续向下进行,否则请求不会继续向下进行,处理器也不会调用。
  2. postHandle方法:在调用完处理器后调用该方法。
  3. afterCompletion方法:在前端控制器渲染页面完成之后调用此方法。
  4. 设置拦截路径。

    5.在springMVC中文件上传的使用步骤是什么样的?前端三要素是什么?

    上次步骤:

  5. 加入文件上传需要的(Commons-fileupload)jav包。

  6. 配置文件上传解析器,springmvc配置文件的文件上传解析器的id属性必须为MultipartResolver。
  7. 后端对应的接受文件的方法参数类型必须为MultipartFile,参数名称必须与前端的name属性保持一致。

前端三要素:

  1. form表单的提交方式必须为post。
  2. enctype属性需要修改为:multipart/form-data。
  3. 必须有一个type属性为file的input标签,其中需要有一个name属性;如果需要上传多个文件需要添加multiple属性。