7.1 SpringMVC的环境搭建方式
Java配置方式
全局配置
|
|
Spring上下文配置(ContextLoaderListener)
|
|
SpringMVC配置(DispatcherServlet)
|
|
XML配置方式(略) 可以参考前几章
7.2 处理Multipart文件上传
web相关配置已经包含在7.1中
jsp页面
|
|
控制器
|
|
customizeRegistration配置指定了临时文件的存储地址(传输完毕后会自动清除)
7.3 处理异常
使用@ExceptionHandler可以处理Controller抛出的异常,异常出现后可以跳转到更加友好的提示界面。@ControllerAdvice作为一个Controller的全局配置,对所有@Controller注解的@RequestMapping方法生效。
|
|
7.4 跨重定向传递数据
redirect:将客户端的请求以get方式重定向到另一个controller,可以用${}路径和?参数的方式传递简单数据,但是无法传输Spitter这样的对象。重定向后模型中的数据将会丢失。
forward:将客户端的请求转发到另外一个页面,保留原有的模型数据,但是浏览器地址不会发生改变,因为浏览器不知道自己的请求被转发了。
如果需要使用redirect并想保留model中的数据,可以使用flash属性。使用RedirectAttributes作为model,它会将模型暂存到session中,重定向后可以使用Model取出对应的对象。我们也可以不借助Spring提供的这个方法,自己将对象存储到session中,转发后在从session中取出并清空session。