1.说一下springMVC支持的转发和重定向的写法;
转发:
在返回值前面加上forward
重定向:
在返回值前面加上redirect
2.谈一下springMVC统一异常处理的思想和实现方式;
springMVC框架相当于代码的调用者,所以最终的异常是会抛到springmvc框架中,我们可以指定一个类统一处理springMVC框架中的异常。
首先使用@ControllerAdvice注解定义某个类为统一处理异常的类,然后在方法上加上注解@ExceptionHandler,再调用exceptionHandler中的value属性指定处理的异常类型。
优点:可以减少代码的冗余。
3.在springMVC中,如果想通过转发将数据传递到前台,有几种写法?
有四种写法:
- 直接使用request作用域进行数据的传输。
request.setAttirbuate(“name”, value);
- 使用model进行传值,底层会将数据放在request作用域中进行传输。
model.addAttribuate(“name”, value);
- 使用modelmap进行传值,底层会将数据放在request作用域中进行传输。
modelmap.put(“name”,value);
- 借用modelandview在其中设置数据和视图进行传输。
mv.addObject(“name”,value);
mv.setView(“success”);
return mv;
4.在springMVC中拦截器的使用步骤是什么样的?
创建一个类并实现HandlerInterceptor接口并重写接口中的三个方法:
- preHandle方法:在调用处理器之前调用该方法,如果该方法返回true则请求继续向下进行,否则请求不会继续向下进行,处理器也不会调用。
- postHandle方法:在调用完处理器后调用该方法。
- afterCompletion方法:在前端控制器渲染页面完成之后调用此方法。
-
5.在springMVC中文件上传的使用步骤是什么样的?前端三要素是什么?
上次步骤:
加入文件上传需要的(Commons-fileupload)jav包。
- 配置文件上传解析器,springmvc配置文件的文件上传解析器的id属性必须为MultipartResolver。
- 后端对应的接受文件的方法参数类型必须为MultipartFile,参数名称必须与前端的name属性保持一致。
前端三要素:
- form表单的提交方式必须为post。
- enctype属性需要修改为:multipart/form-data。
- 必须有一个type属性为file的input标签,其中需要有一个name属性;如果需要上传多个文件需要添加multiple属性。