zoukankan      html  css  js  c++  java
  • 笔试20190305

    1、同源策略和JSONP

      1)同源策略(Same Origin Policy)

        URL由协议、域名、端口和路径组成,如果两个URL的协议、域名和端口相同,则它们同源。否则,只要有任何一个不同,就被当作跨域。

        同源策略是浏览器最重要也最基础的一个安全功能,不同源的客户端脚本在没有明确授权的情况下,不能读写对方的资源。所以a.com下的js脚本采用ajax读取b.com下的文件数据是会报错的。

        不受同源策略限制:

        Ⅰ、页面中的链接,重定向以及表单提交

        Ⅱ、跨域资源的引入是可以的。但是js不能读写加载其中的内容。如嵌入页面的<script src>,<img>,<link>,<iframe>等包含src属性的标签。

      2)JSONP(JSON with Padding)

        跨域数据访问的一种方式。

        例如:a.com/jsonp.html想得到b.com/main.js中的数据,就可以在jsonp.html中创建一个回调函数xxx,动态加载<script>元素。向服务器发送请求,请求地址后加上参数,通过callback参数指定回调函数名字:http://b.com/main.js?callback=xxx。在main.js中调用xxx并且以JSON格式作为参数传递,完成回调。

        这样,就可以跨域访问到数据。

    2、SpringMVC 使用HandlerExceptionResolver  和使用@ExceptionHandler 区别

      @ExceptionHandler:进行异常处理的方法必须与出错的方法在同一个Controller中

      HandlerExceptionResolver:可以进行全局异常控制。

    3、Filter与Interceptor区别联系

      联系:都是AOP思想的体现,都能实现权限检查、日志记录等

      区别:

      Filter:依赖于servlet容器,是JavaEE标准,是在请求进入容器之后,还未进入Servlet之前进行预处理,并且在请求结束返回给前端这之间进行后期处理。在实现上基于函数回调,可以对几乎所有请求进行过滤,但是缺点是一个过滤器实例只能在容器初始化时调用一次。使用过滤器的目的是用来做一些过滤操作。过滤器可以简单理解为“取你所想取”,忽视掉那些你不想要的东西,比如:在过滤器中修改字符编码;在过滤器中修改HttpServletRequest的一些参数,包括:过滤低俗文字、危险字符等。

      Interceptor:拦截器不依赖与servlet容器,依赖于web框架。在SpringMVC中就是依赖于SpringMVC框架,在SSH框架中,就是依赖于Struts框架。在实现上基于Java的反射机制。由于拦截器是基于web框架的调用,因此可以使用spring的依赖注入(DI)获取IOC容器中的各个bean,进行一些业务操作,同时一个拦截器实例在一个controller生命周期之内可以多次调用。但是缺点是只能对controller请求进行拦截,即请求还没有到controller层时进行拦截,请求走出controller层次,还没有到渲染时图层时进行拦截,结束视图渲染,但是还没有到servlet的结束时进行拦截。对其他的一些比如直接访问静态资源的请求则没办法进行拦截处理,拦截器功在对请求权限鉴定方面确实很有用处。它可以简单理解为“拒你所想拒”。

    4、三个线程,名字分别ABC,按顺序打印ABC各20次,要求打印出的字符串为ABCABCABC......

  • 相关阅读:
    【转】linux和windows下安装python集成开发环境及其python包
    python访问列表不连续的多个元素
    tidyverse学习与总结
    正则表达式去除html中的标签
    数据挖掘听课笔记
    linux系统管理学习笔记5-管理用户
    linux系统管理学习笔记2-管理文件
    linux系统管理学习笔记3-重定向和管道
    linux系统管理学习笔记4-使用vi
    linux系统管理学习笔记8-管理软件包
  • 原文地址:https://www.cnblogs.com/Ezi0/p/10479896.html
Copyright © 2011-2022 走看看