SpringMVC 学习心得(三)
基于注解配置的MVC
-
接收请求参数值
Spring MVC 请求提交数据到控制器可以用以下3种方法:HttpServletRequest
@RequestParam;
使用自动机封装成Bean对象 -
向页面传值
当Controller组件处理后,需要向Jsp传值
HttpServletRequest, Session
ModelAndView
ModelMap参数对象
@ModelAttribute
- Session存储
HttpServletRequest 的getSession()方法访问
- 重定向视图
SpringMVC默认采用转发方式定位视图,重定向方式需要使用
RedirectView
redirect前缀
实战技巧
- 中文乱码的解决方案
CharacterEncodingFilter(Post请求)
- 拦截器
实现HandlerInterceptor接口
preHandle():处理器执行前被调用,返回值为true时,表示会继续调用其他拦截器和处理器;返回false则表示中断流程,不会执行后续拦截器和处理器;
postHandle(): 处理器执行后,视图处理前被调用,此时可以通过modelAndView对象对模型数据或视图进行处理;
afterCompletion(): 整个请求处理完毕后调用,如性能监控中我们可以在此记录结束时间并输出消耗时间,还可以进行一些资源清理,只有在preHandle()返回true才执行
- 异常处理
SimpleMappingExceptionResolver
实现HanlderExceptionResolver接口自定义异常处理器
使用@ExceptionHandler注解实现异常处理
- 文件上传
CommonMultipartResolver解析器组件
Commons FileUpload和COS FileUpload
- CommonMultipartResolver
调用common-fileupload.jar功能,将请求提交的文件信息解析出来;
需要引入:common-fileupload.jar和common-io.jar
添加bean定义
- 视图表单
<form enctype="multipart/form-data"></form>
未完待续
Good Night!