zoukankan      html  css  js  c++  java
  • Chapter Four

    JSON数据

    默认情况下,当开发者新创建一个SpringBoot项目时,会添加Web依赖,在这个依赖中会默认加入jackson-databind作为Json处理器。

    @RestController

    组合注解,等于@Controller和ResponseBody

    (但是,两个注解是返回页面,一个是返回Json)

    静态资源

    SpringBoot中对于SpringMVC的自动化配置都在WebMvcAutoConfiguration类中,开发者使用IntelliJ IDEA创建SpringBoot项目,就会默认创建static目录,静态资源一般放在这个目录下即可。

    @ControllerAdvice

    是@Controller的加强版,主要用来处理全局数据。

    例子:文件上传大小超过限制的异常处理

    在系统中定义CustomExceptionHandler类,然后添加@ControllerAdvice注解即可。当系统启动时,该类就会被扫描到Spring容器中

    然后定义uploadException方法,在该方法上面添加@ExceptionHandler注解,其中定义的MaxUploadSizeExceededException.class表明该方法用来处理MaxUploadSizeExceededException类型的异常。如果想让该方法处理所有类型的异常,只需将MaxUploadSizeExceedeException改为Exception

    方法的参数可以有异常实例、HttpServletResponse以及HttpServletRequest、Model等,返回值可以是一段Json、一个ModelAndView、一个逻辑视图等

    CORS支持

    CORS(Cross-Origin Resource Sharing) 是由W3C制定的一种跨域资源共享技术标准,其目的就是为了解决前端的跨域请求。在JavaEE中,最常见的前端跨域请求解决方案是JSONP,但是JSONP只支持GET请求,这是一个很大的缺陷,而CORS则支持多种HTTP请求方法。

    跨域配置:

     

     注册拦截器

    拦截器中的方法将按照preHandle->Controller->postHandle->afterCompletion的顺序执行,只有preHandle方法返回true时后面的方法才会执行,当拦截器链中存在多个拦截器时,postHandler在所有拦截器返回成功时才会调用,即若拦截器链中的第一个拦截器的preHandle方法返回false,则后面的方法都不会执行。

    面向切面编程(AOP)

    在系统运行时动态添加代码的方式成为面向切面编程。

    常见概念:

    Joinpoint(连接点):类里面可以被增强的方法即为连接点。例如,想修改哪个方法的功能,那么该方法就是一个连接点。

    Pointcut(切入点):对Joinpoint进行拦截的定义即为切入点。例如,拦截所有以insert开始的方法,这个定义即为切入点。

    Advice(通知):拦截到Joinpoint之后所要做的事情就是通知。例如,打印日志监控,通知分为前置通知、后置通知、异常通知、最终通知和环绕通知。

    Aspect(切面):Pointcut和Advice结合。

    Target(目标对象):要增强的类称为Target

     

  • 相关阅读:
    王立平--scard0与scard1分别指的是什么?以及路径获取
    算法导论 第7章 高速排序
    [转]php-fpm配置具体解释
    ViewPager实现页卡的最新方法--简洁的TabLayout(谷歌支持包)
    MFC对话框贴图基础上控件Stasic变成透明的
    学习Opencv 2.4.9(二) ---操作像素
    Dynamics CRM 2015/2016 Web API:Unbound Action 和 Bound Action
    网页元素居中攻略记_(6)图片水平垂直居中
    【计算机视觉】粒子滤波跟踪
    【python】异常处理
  • 原文地址:https://www.cnblogs.com/lick468/p/11372206.html
Copyright © 2011-2022 走看看