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

    1.Servlet怎样控制页面在客户端的缓存策略

    设置type为post(没有缓存),get(有缓存)

     使用GET,form中的数据将编码到url中,而使用POST的form中的数据则在http协议的header中传输。在使用上,当且仅当请求幂等(字面意思是请求任意次返回同样的结果,本质是请求本身不会改变服务器数据和状态)时使用GET,当请求会改变服务器数据或状态时(更新数据,上传文件),应该使用POST。
    区别使用GET,POST意义何在?
           重复访问使用GET方法请求的页面,浏览器会使用缓存处理后续请求。使用POST方法的form提交时,浏览器基于POST将产生永久改变的假设,将让用户进行提交确认。当编成人员正确的使用GET,POST后,浏览器会给出很好的缓存配合,时响应速度更快。

    //本页面允许在浏览器端或缓存服务器中缓存,时限为10秒。  
    java.util.Date date = new java.util.Date();  
    response.setDateHeader("Last-Modified",date.getTime());  
    response.setDateHeader("Expires",date.getTime()+10000);  

    response.setHeader("Cache-Control", "public");  
    response.setHeader("Pragma", "Pragma");
    Java代码
    //不允许浏览器端或缓存服务器缓存当前页面信息。  
    response.setHeader( "Pragma", "no-cache" );  
    response.setDateHeader("Expires", 0);  

    response.addHeader( "Cache-Control", "no-cache" );  
    response.addHeader( "Cache-Control", "no-store" );  
    response.addHeader( "Cache-Control", "must-revalidate" );

    2.sleep和wait的区别有
      1,这两个方法来自不同的类分别是Thread和Object
      2,最主要是sleep方法没有释放锁,而wait方法释放了锁,使得其他线程可以使用同步控制块或者方法。
      3,wait,notify和notifyAll只能在同步控制方法或者同步控制块里面使用,而sleep可以在
        任何地方使用
       synchronized(x){
          x.notify()
         //或者wait()
       }
       4,sleep必须捕获异常,而wait,notify和notifyAll不需要捕获异常

  • 相关阅读:
    static final常量变量的正确书写规范
    Why aren't more desktop apps written with Qt?(quora.com系列文章)
    建议学个一知半解的时候,再看书
    C++中new和delete的背后(最后还是调用了MSVCR90的malloc)
    关于Qt的事件循环以及QEventLoop的简单使用(QEventLoop::quit()能够终止事件循环,事件循环是可以嵌套的)
    QProcess::startDetached(5.10有了一种新的方式)
    微信公众号支付开发
    Middleware

    TOKEN+签名验证
  • 原文地址:https://www.cnblogs.com/lnluckybamboo/p/3966688.html
Copyright © 2011-2022 走看看