Senior SpringMVC

document dowload

    web中的文件下载
        两个头一个流
            Content-Type
            Content-Disposition
            文件的输入流和respones的输出流对接

File Upload

FileUpload integrated components that can be used for file uploads

File upload reception conditions

Submission must be post

Form form must have a file entry form item type = "file"

Form of Form enctype attribute is multi-part form format, i.e. enctype = "multipart / form-data"

Multi-part form format:

To form a plurality of divided randomly generated according to a separator. These sections, some ordinary form item -> string key key value of, some file entry (what we upload files, the contents of more items, including the file name, file size, file type, file content .. .)

File Upload works:

    文件上传后台接收数据的操作
        1. 引入FileUpload的依赖
        2. 配置文件上传时的多部分表单的解析器
            <bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
                <property name="defaultEncoding" value="UTF-8"/>
                <property name="maxUploadSize" value="500000"/>
            </bean>
        3. 在Controller的方法上,参数位置。普通项和之前的接收方式一致。文件项用MultipartFile类型接收即可。
            MultipartFile对象内部封装了提交的文件的信息
            通过ServletContext对象可以获取服务器中的某个目录的绝对路径

Interceptor

    类比web中的过滤器Filter理解,它们的功能类似。
    编写的流程
        1. 编写一个类实现HandlerInterceptor接口
        2. 在springmvc的配置文件中进行配置
            配置拦截的路径,一般配置为Controller的方法
                例如:/user/**
    执行流程
        1. preHandle方法,拦截器执行的第一个方法,返回值决定了是否放行。
        2. 当preHandle方法放行时,目标资源执行,执行后,返回ModelAndView。
            然后到达postHandle方法中。在此处并没有真正渲染视图或返回响应,意味着此处可以修改视图名称或modle中的数据。
        3. postHandle执行完成之后,才会去渲染视图,返回响应。
        4. 当所有步骤执行完成后,执行afterCompletion方法。

Exception handler

    定义全局处理异常的组件。
    异常处理的原则:
        1. 编码时,尽量减少异常的产生
        2. 明确知道某些异常是具有提示作用的,可以自行捕获处理
        3. 其他的一些异常,无法预知的或者需要通用处理的,这些异常我们使用统一的异常处理器来处理。
    自定义异常处理器的流程
        1. 写一个类实现HandlerExceptionResolver接口,实现其中的resolveException方法处理异常
        2. 把异常处理器交给springmvc框架管理,把自己写的类配置到springmvc的容器中即可
            后续所有未捕获的异常会交由springmvc的异常处理器进行处理
    异常处理器作用
        1. 帮助我们记录异常信息,以便于后期维护修复错误使用
        2. 可以跳转一个友好的错误页面,提升用户体验。

Guess you like

Origin www.cnblogs.com/maomaodesu/p/12300769.html