- 浏览: 235940 次
- 性别:
- 来自: 深圳
文章分类
最新评论
-
wahahachuang8:
GoEasy 实时推送支持IE6-IE11及大多数主流浏览器的 ...
服务器推送技术 java -
mahuanjian:
[flash=200,200][/flash]
服务器推送技术 java -
wenjundiandian:
下面有网页编辑器的话还是会被隐藏.
ext中消息框、提示框、确认框显示在最前面的解决方法 -
天塔上的猫:
/**
* JAVA常见的权限控制算法的实现
*
* ...
JAVA常见的权限控制算法的实现
使用Filter快速对网页资源进行缓存,在网页资源没有改变的情况下避免多次HTTP调用!
我们可以通过Filter快速对网页资源进行缓存。你可以在你的web.xml设置一个拦截器,并可以指定特定的内容类型,它可以拦截response,并且可以编辑HTTP头。
代码如下:
package com.xyz
import java.io.IOException;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServletResponse;
public class CacheFilter implements javax.servlet.Filter {
FilterConfig filterConfig = null;
public void init(FilterConfig filterConfig){
this.filterConfig = filterConfig;
}
public void doFilter(ServletRequest req,
ServletResponse res,
FilterChain chain)
throws IOException, ServletException {
String sCache = filterConfig.getInitParameter("Cache");
if(sCache != null){
((HttpServletResponse)res).setHeader("Cache-Control", sCache);
}
chain.doFilter(req, res);
}
public void destroy(){
this.filterConfig = null;
}
}
现在,假设我们要使这个filter对所有的jpg请求起作用,那么,你就需要在你的web.xml里增加下面的内容:
<filter>
<filter-name>Cache</filter-name>
<filter-class>com.xyz.CacheFilter</filter-class>
<init-param>
<param-name>cache</param-name>
<param-value>public, max-age=2592000</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>Cache</filter-name>
<url-pattern>*.jpg</url-pattern>
</filter-mapping>
这个filter现在会指示客户端缓存存贮特定的内容(jpg),时间是2592000秒。
这个filter也可以作用于.css和.js文件。事实上,这个filter可以作用于你指定的任何文件类型。只需要简单改变url-pattern 属性或者新增一个。
例如:
<filter>
<filter-name>Cache</filter-name>
<filter-class>com.xyz.CacheFilter</filter-class>
<init-param>
<param-name>cache</param-name>
<param-value>public, max-age=2592000</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>Cache</filter-name>
<url-pattern>*.css</url-pattern>
</filter-mapping>
或者
<filter>
<filter-name>Cache</filter-name>
<filter-class>com.xyz.CacheFilter</filter-class>
<init-param>
<param-name>cache</param-name>
<param-value>public, max-age=2592000</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>Cache</filter-name>
<url-pattern>*.jpg</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>Cache</filter-name>
<url-pattern>*.css</url-pattern>
</filter-mapping>
关于作者:
胡萝卜,chinesedocument.com和injava.org的站长。对j2ee比较感兴趣。此文是根据jguru.com上的相关faqs翻译修改而来。
chinesedocument.com是一家提供教程、中文文档下载、开发工具下载等方面的综合性java网站。
injava.org是一家提供java个人门户的网站。
文章来源:网上
发表评论
-
利用 Heritrix 构建特定站点爬虫
2011-01-12 13:42 895Heritrix 是一个由 java 开 ... -
java解析xml文件四种方式
2011-01-10 16:23 7661.介绍 1)DOM(JAXP Crims ... -
Spring AOP的两种实现方式
2010-12-10 09:16 907来源:http://javacrazyer.iteye.com ... -
详解Java解析XML的四种方法
2010-12-09 22:31 850来源:http://mengsina.iteye.co ... -
(转载)手写压缩软件,超详细解释(哈夫曼实现)
2010-12-07 11:17 1098转载自:http://stchou.iteye.com/b ... -
java通过包装器防SQL注入
2010-01-29 11:04 1251定义包装器对request进行 ... -
comparable 与comparator的区别
2010-01-29 09:12 955Comparable & Comparator 都是用 ... -
Java经典问题算法大全
2010-01-28 20:52 3040/*【程序1】题目:古典 ... -
Java各种排序算法
2010-01-28 20:50 927/*** 排序测试类* * 排序算法的分类如下:* 1.插入排 ... -
Java细节总结
2010-01-28 20:46 707TURE、FALSE、NULL等都不是Java关键字; 数组 ... -
设计异常管理系统
2010-01-28 20:37 848——针对有效的错误处理设计异常管理系统 作者:Jean-Pie ... -
详解ThreadLocal与synchronized
2010-01-28 20:14 800Java良好的支持多线程。使用java,我们可以很轻松的编程一 ... -
在有多个选择路径的情况下,利用Switch可以使程序更加简洁有效。但由于其只能对整数选择因子进行判断,所以限制了其在其他类型尤其是String的使用,本文利用J
2010-01-28 20:04 887在有多个选择路径的情况下,利用Switch可以使程序更加简洁有 ... -
java优化编程37条
2010-01-28 20:00 7131.JVM管理两种类型的内 ... -
服务器推送技术 java
2009-12-28 12:11 6290下面介绍在ARP之上的一个非常热门的技术实现:服务器推送技术。 ... -
java排序集锦
2009-12-16 09:29 855Java代码 package sort; ... -
3DES加密解密调用示例
2009-12-15 10:02 994在java中调用sun公司提供的3DES加密解密算法时,需要使 ... -
java货币 Locale Currency NumberFormat
2009-12-04 18:14 2387使用java currency配合Locale,NumberF ... -
Deque 作为堆栈使用(ArrayDeque)
2009-12-04 18:09 2812package code.jdk; imp ... -
Random类
2009-12-04 14:00 1041Random类 (java.util) ...
相关推荐
JSP是Java语言用于创建动态网页的一种技术,而缓存则是一种存储机制,它能暂时保存经常被请求的数据,以便于快速响应后续的相同请求。 首先,让我们了解什么是页面缓存。当用户请求一个网页时,如果该页面的内容是...
- **多级缓存系统**:在多级缓存架构中,如何有效地利用Bloom Filter进行缓存协作和资源共享。 #### 五、结论 Bloom Filter作为一种高效的数据结构,在代理缓存系统中展现出了巨大的潜力。通过对Bloom Filter的...
1. **缓存:** 当需要快速检查数据是否已存在于缓存中,但内存有限时。 2. **垃圾邮件过滤:** 判断某个邮箱地址是否为垃圾邮件发送者。 3. **网页爬虫:** 判断是否已访问过某个网址,避免重复抓取。 4. **推荐系统...
布隆过滤器广泛应用于数据库、搜索引擎、缓存系统等领域,用于快速判断某个元素是否可能存在于集合中,以减少不必要的磁盘或网络访问。例如,在垃圾邮件过滤中,它可以快速判断邮件地址是否可能出现在黑名单中;在...
综上所述,通过Fetch API获取古诗数据,使用filter筛选包含关键词的古诗,以及正则表达式进行精确匹配,我们可以构建一个高效的古诗搜索功能。这一功能不仅可以应用于古诗库,还可以扩展到任何需要文本搜索的场合,...
在实际应用中,JavaScript的布隆过滤器常用于大型数据集的快速查询,如网页缓存、垃圾邮件过滤、去重检测等场景,特别是在内存或存储资源有限的情况下。 在下载的`bloomfilter.js`文件中,你可以找到具体的实现细节...
总之,基于动态可分裂Bloom Filter的网络爬虫URL去重方法是一种高效且适用于大规模数据处理的技术,它在节省内存资源的同时,提供了快速的URL去重能力,对于网络游戏行业的数据分析和决策支持具有重要的价值。
在此之后,搜索引擎会对网页进行解析,抽取网页主体内容,以及页面中包含 的指向其它页面的所谓超链接。 为了加快用户查询的响应速度,网页内容通过 “倒排索引”这种高效查询数据结构来保存,而网页之间的链接关系...
2. **缓存机制**:在Web开发中,缓存是一种优化策略,它将常用数据保存在内存中,以便快速访问,减少对数据库或计算资源的依赖。Smarty支持多种缓存处理,包括文件缓存、数据库缓存等,`memcache_cache_handler....
3. 使用过滤器(Filter):还可以通过部署一个Filter来处理静态资源请求,该Filter检查请求的URL,如果是静态资源,就直接读取并返回,否则让请求继续到Servlet。 在实际项目中,为了提高性能,静态资源通常会被...
JavaScript是Web开发中不可或缺的一部分,尤其对于前端开发者来说,它是构建动态、交互式网页的关键工具。这份"JavaScript1小时快速上手笔记快速复习"旨在帮助已有编程基础的学习者迅速掌握JavaScript的基本概念和...
7. **表单处理**:PHP可以接收和处理HTTP请求中的表单数据,使用`$_GET`和`$_POST`全局数组获取用户输入,结合`filter_var()`进行数据过滤和验证。 8. **会话管理**:PHP通过`session_start()`启动会话,`$_SESSION...
1. 支持创建和操作Bloom Filter:使用`BF.RESERVE`命令可以预先分配空间,`BF.ADD`用于添加元素,`BF.MIGHTEXIST`检查元素是否存在。 2. 集成Count-Min Sketch:这是一种用于估算数据流中的元素计数的轻量级数据结构...
- **Filter与Boost**:通过Filter可以对查询结果进行过滤,如按日期筛选。Boost则可以调整某些字段或查询项的权重,影响相关性评分。 - **内存索引与磁盘索引**:根据应用需求,可以选择将索引保留在内存中或磁盘上...
- **缓存系统**:在缓存中快速验证数据是否存在,避免无效的数据库查询。 - **分布式系统**:在分布式环境中,用于判断数据是否在其他节点中已存在,减少通信成本。 - **网络爬虫**:确定网页是否已经抓取过,避免...
在技术实现方面,本文提到系统使用了Scrapy框架,这是一种高效的爬虫框架,能够快速抓取网页数据,并使用Redis进行数据缓存。为了处理JavaScript动态加载的内容,系统集成了Selenium插件来控制浏览器模拟用户行为,...
- **性能优化**:jQuery内部进行了性能优化,如延迟执行、缓存DOM查询等,提高了页面性能。 - **丰富的插件**:jQuery拥有庞大的社区和丰富的插件库,可以快速实现复杂的交互和效果。 总结来说,"JQuery资源帮助...
- 查询优化:通过使用Filter、BooleanQuery等,可以对查询条件进行组合和过滤,进一步提升搜索性能。 总结,Lucene作为一款强大的全文检索库,其核心在于索引的创建和搜索的执行。通过理解其基本概念和操作流程,...
3. **资源压缩**:通过自动化工具如Webpack、Gulp、Grunt或Rollup对CSS进行压缩,删除空格、注释和不必要的字符,减少文件大小,从而加快加载速度。 4. **合理使用选择器**:避免使用过于复杂的选择器,尤其是深度...
在使用AJAX进行异步请求时,如果服务器支持,可以开启gzip压缩,这样可以显著减少传输的数据量。在JavaScript中,我们通常使用XMLHttpRequest对象或fetch API发送AJAX请求,这些API默认会处理gzip压缩的响应,无需...