当前位置: 首页 > news >正文

动画网站源码网站备案需先做网站吗

动画网站源码,网站备案需先做网站吗,松松软文平台,网站开发业务方向架构文档cdi-api这篇文章#xff08;通过一个简单的示例#xff09;说明了如何使用CDI Producers使其在RESTful服务中利用缓存控制语义更加容易 与HTTP 1.0中可用的Expires标头相比#xff0c; HTTP 1.1中添加了Cache-Control标头#xff0c;这是急需的改进。 RESTful Web服务可以… cdi-api 这篇文章通过一个简单的示例说明了如何使用CDI Producers使其在RESTful服务中利用缓存控制语义更加容易 与HTTP 1.0中可用的Expires标头相比 HTTP 1.1中添加了Cache-Control标头这是急需的改进。 RESTful Web服务可以利用此标头来扩展其应用程序并使它们更有效例如如果您可以缓存先前请求的响应那么如果您确定要对某个请求进行响应那么显然无需再次向服务器发出相同请求您缓存的数据不是陈旧的事实 JAX-RS有何帮助 自其初始1.0版本以来 JAX-RS就已经支持Cache-Control标头。 CacheControl类表示现实世界中的Cache-Control HTTP标头并提供了通过简单的setter方法配置标头的功能。 JAX-RS 2.0 javadocs中有关CacheControl类的更多信息 那么我该如何使用 只需返回一个Response对象即可围绕它包装 CacheControl类的实例。 Path(/testcache) public class RESTfulResource {GETProduces(text/plain)public Response find(){CacheControl cc new CacheControl();cc.setMaxAge(20);return Response.ok(UUID.randomUUID().toString()).cacheControl(cc).build();} } 尽管这对于单个方法来说相对方便但是重复创建和返回CacheControl对象可能会激怒多个方法 CDI生产者来抢救 CDI生产者可以帮助注入类的实例这些类在技术上不是Bean 按照严格的定义或者对于您用范围和限定符修饰它们时无法控制的类。 这个想法是为了 有一个自定义注释 CacheControlConfig 来定义Cache-Control标头的默认值并在您要覆盖它时提供灵活性 Retention(RUNTIME) Target({FIELD, PARAMETER}) public interface CachControlConfig {public boolean isPrivate() default true;public boolean noCache() default false;public boolean noStore() default false;public boolean noTransform() default true;public boolean mustRevalidate() default true;public boolean proxyRevalidate() default false;public int maxAge() default 0;public int sMaxAge() default 0;} 只需使用CDI Producer通过使用InjectionPoint对象由CDI高兴地注入来创建CacheControl类的实例具体取决于注释参数 public class CacheControlFactory {Producespublic CacheControl get(InjectionPoint ip) {CachControlConfig ccConfig ip.getAnnotated().getAnnotation(CachControlConfig.class);CacheControl cc null;if (ccConfig ! null) {cc new CacheControl();cc.setMaxAge(ccConfig.maxAge());cc.setMustRevalidate(ccConfig.mustRevalidate());cc.setNoCache(ccConfig.noCache());cc.setNoStore(ccConfig.noStore());cc.setNoTransform(ccConfig.noTransform());cc.setPrivate(ccConfig.isPrivate());cc.setProxyRevalidate(ccConfig.proxyRevalidate());cc.setSMaxAge(ccConfig.sMaxAge());}return cc;} } 只需将 CacheControl实例注入您的REST资源类中并在您的方法中使用它 Path(/testcache) public class RESTfulResource {InjectCachControlConfig(maxAge 20)CacheControl cc;GETProduces(text/plain)public Response find() {return Response.ok(UUID.randomUUID().toString()).cacheControl(cc).build();} } 其他想法 在这种情况下产生的CacheControl实例的范围是Dependent即它将与注入它的类一起生存和死亡。 在这种情况下由于JAX-RS容器为每个客户端请求创建了一个新实例因此JAX-RS资源本身是RequestScoped 默认因此将与每个HTTP请求一起创建注入的CacheControl实例的新实例。 您还可以引入CDI限定词以进一步缩小范围并考虑极端情况 您可能会认为使用JAX-RS过滤器可以实现相同的目的。 那是正确的。 但是您需要手动设置Cache-Control标头在可变的MultivaluedMap中并且逻辑不够灵活无法解决不同情况下的不同Cache-Control配置 实验结果 使用NetBeans IDE播放此示例推荐 部署WAR并浏览到http// localhost8080 / JAX-RS-Caching-CDI / testcache 随机字符串将被缓存20秒 根据CacheControl批注的配置 对相同URL的GET请求不会导致服务器端REST服务的调用。 浏览器将返回缓存的值。 尽管代码很简单但是如果您觉得很懒可以从这里获取maven项目并在其中玩转 玩得开心 翻译自: https://www.javacodegeeks.com/2015/02/simplifying-jax-rs-caching-with-cdi.htmlcdi-api
http://www.zqtcl.cn/news/712318/

相关文章:

  • 个人站长适合做什么网站跨境电商数据分析网站
  • seo网站怎么优化影视制作公司简介
  • 如何制作一个自己的网页网站合肥网络优化公司有几家
  • 做网站的公司一年能赚多少钱织梦修改网站背景颜色
  • 门户网站建设的报价淘宝联盟怎么建网站
  • 常用的网站开发公司注册名称怎么起
  • j动态加载网站开发南京建设网站公司哪家好
  • 云南网站建设工具wordpress防御ip攻击
  • 珠海市网站建设开发公司站长工具whois查询
  • 网站备案icp过期网站建设好了怎么做推广
  • 网站自动识别手机代码网络服务器是指
  • 做自媒体那几个网站好点乐清做网站建设
  • 如何制作自己的网站在线观看2021网页源码
  • 电子商务网站建设百度文库工业设计公司招聘
  • 网站seo测评餐厅设计公司餐厅设计
  • 深圳网站seo推广wordpress swf 上传
  • 织梦做双语网站怎么做制作网站的教程
  • 公司网站开发的国内外研究现状个人网页设计大全
  • 做一个网站人员网站建设及推广优化
  • 胶州市城乡建设局网站能进封禁网站的浏览器
  • 网站做几级等保荣耀商城手机官网
  • 营销网站费用渭南网站建设公司
  • wordpress主题集成插件下载网站如何做360优化
  • 有什么在线做文档的网站网站开发需要用到哪些技术
  • 网站套餐可以分摊吗吗移动登录网页模板免费下载
  • asp网站会员注册不了但是打不开网页
  • wordpress 中文网店杭州排名优化公司
  • wordpress建站安全吗wordpress企业主题教程
  • 网站构建的开发费用信息管理系统网站开发教程
  • 自己做网站怎么维护wordpress素材模板