文件上传
mvc 会将上传文件绑定到MulipartFile中 ,MulipartFile提供和获取文件相关信息的方法
byte[] getBytes 获取文件数据
String getContentType()获取文件MINE类型
InputStream getInputStream()获取文件流
String getName() 获取表单中 文件组件的名字
String getOriginalFile=name() 获取文件名字
long getSize() 获取文件字节大小,单位byte
boolean isEmpty 是否有上传文件
void transferTo(File dest) 将上传文件保存到一个目标文件中
mvc 提供一个ResoinseEntity类型 返回HttpHeaders 和 HttpStatus
String path = request.getServletContext().getRealPath("")
拦截器 Inerceptor -->HandlerInterceptor
方法
1、boolean preHandler(HttpServletRequest request,HttpServletRespone respone,Onject handler) 该方法第一个被调用
该方法在请求处理之前调用,可以做前置的初始化和当前请求的预处理,野可判断当前请求是否继续,
当返回false时 表示请求结束,后续的interceptor和Contriller都不执行,
返回true继续执行下一个Interceotor的preHandler
2、void postHandler(HttpServletRequest request,HttpServletResponse response,Object handler,ModelAndView mv)
该方法和之后的afterComplention 都只能在自己所自的Interceptor的preHandler返回true时执行,当前请求被处理后,也就是Controller执行后执行,但是会在DispatcherHandler进行视图渲染之前被调用,所以可以在这个方法中对Contriller处理之后的ModelAndView进行操作,也就是先声明的Interceptor的postHandler反而后执行
3、void afterCompletion(HttpServletRequest request,HttpServletResponse response,Object handler,Exception exception)
该方法在整个请求结束后,即DisptcherServlet渲染了对应的视图之后执行,主要作用是对资源进行清理