- 浏览: 230609 次
- 性别:
- 来自: 深圳
-
文章分类
最新评论
-
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 872Heritrix 是一个由 java 开 ... -
java解析xml文件四种方式
2011-01-10 16:23 7051.介绍 1)DOM(JAXP Crims ... -
Spring AOP的两种实现方式
2010-12-10 09:16 885来源:http://javacrazyer.iteye.com ... -
详解Java解析XML的四种方法
2010-12-09 22:31 828来源:http://mengsina.iteye.co ... -
(转载)手写压缩软件,超详细解释(哈夫曼实现)
2010-12-07 11:17 1063转载自:http://stchou.iteye.com/b ... -
java通过包装器防SQL注入
2010-01-29 11:04 1193定义包装器对request进行 ... -
comparable 与comparator的区别
2010-01-29 09:12 936Comparable & Comparator 都是用 ... -
Java经典问题算法大全
2010-01-28 20:52 3007/*【程序1】题目:古典 ... -
Java各种排序算法
2010-01-28 20:50 903/*** 排序测试类* * 排序算法的分类如下:* 1.插入排 ... -
Java细节总结
2010-01-28 20:46 691TURE、FALSE、NULL等都不是Java关键字; 数组 ... -
设计异常管理系统
2010-01-28 20:37 828——针对有效的错误处理设计异常管理系统 作者:Jean-Pie ... -
详解ThreadLocal与synchronized
2010-01-28 20:14 774Java良好的支持多线程。使用java,我们可以很轻松的编程一 ... -
在有多个选择路径的情况下,利用Switch可以使程序更加简洁有效。但由于其只能对整数选择因子进行判断,所以限制了其在其他类型尤其是String的使用,本文利用J
2010-01-28 20:04 861在有多个选择路径的情况下,利用Switch可以使程序更加简洁有 ... -
java优化编程37条
2010-01-28 20:00 6901.JVM管理两种类型的内 ... -
服务器推送技术 java
2009-12-28 12:11 6261下面介绍在ARP之上的一个非常热门的技术实现:服务器推送技术。 ... -
java排序集锦
2009-12-16 09:29 816Java代码 package sort; ... -
3DES加密解密调用示例
2009-12-15 10:02 968在java中调用sun公司提供的3DES加密解密算法时,需要使 ... -
java货币 Locale Currency NumberFormat
2009-12-04 18:14 2353使用java currency配合Locale,NumberF ... -
Deque 作为堆栈使用(ArrayDeque)
2009-12-04 18:09 2779package code.jdk; imp ... -
Random类
2009-12-04 14:00 1021Random类 (java.util) ...
相关推荐
JSP是Java语言用于创建动态网页的一种技术,而缓存则是一种存储机制,它能暂时保存经常被请求的数据,以便于快速响应后续的相同请求。 首先,让我们了解什么是页面缓存。当用户请求一个网页时,如果该页面的内容是...
1. **缓存:** 当需要快速检查数据是否已存在于缓存中,但内存有限时。 2. **垃圾邮件过滤:** 判断某个邮箱地址是否为垃圾邮件发送者。 3. **网页爬虫:** 判断是否已访问过某个网址,避免重复抓取。 4. **推荐系统...
布隆过滤器广泛应用于数据库、搜索引擎、缓存系统等领域,用于快速判断某个元素是否可能存在于集合中,以减少不必要的磁盘或网络访问。例如,在垃圾邮件过滤中,它可以快速判断邮件地址是否可能出现在黑名单中;在...
在此之后,搜索引擎会对网页进行解析,抽取网页主体内容,以及页面中包含 的指向其它页面的所谓超链接。 为了加快用户查询的响应速度,网页内容通过 “倒排索引”这种高效查询数据结构来保存,而网页之间的链接关系...
2. **缓存机制**:在Web开发中,缓存是一种优化策略,它将常用数据保存在内存中,以便快速访问,减少对数据库或计算资源的依赖。Smarty支持多种缓存处理,包括文件缓存、数据库缓存等,`memcache_cache_handler....
7. **表单处理**:PHP可以接收和处理HTTP请求中的表单数据,使用`$_GET`和`$_POST`全局数组获取用户输入,结合`filter_var()`进行数据过滤和验证。 8. **会话管理**:PHP通过`session_start()`启动会话,`$_SESSION...
- 查询优化:通过使用Filter、BooleanQuery等,可以对查询条件进行组合和过滤,进一步提升搜索性能。 总结,Lucene作为一款强大的全文检索库,其核心在于索引的创建和搜索的执行。通过理解其基本概念和操作流程,...
在后续的项目中,可以进一步完善这个脚手架,如添加AOP缓存(例如使用Memcached)、单元测试、监控功能(如查询Hibernate二级缓存命中率)、RPC服务、任务调度(通过Quartz)、邮件发送(使用JavaMail)、整合更多...
19. **缓存技术**:使用APC、Memcached或Redis进行数据缓存,提升系统性能。 20. **安全防护**:防止SQL注入、XSS攻击,使用password_hash和password_verify进行密码加密。 这些实例是提升PHP技能的宝贵资料,每个...
4. **AJAX与J2EE集成**:展示如何在J2EE环境中使用AJAX,例如通过Servlet或Filter处理AJAX请求,以及在JSF中使用AJAX功能进行组件级更新。 5. **实战代码示例**:提供一系列配文代码,涵盖了从简单的数据获取到复杂...
4. **数组与集合**:数组的方法(push、pop、shift、unshift、splice、slice、concat、join、split等)、数组遍历(for...of、forEach、map、filter、reduce等)、Set和Map数据结构的使用。 5. **DOM操作**:选择...
15. **缓存技术**:如使用`APC`、`memcached`或`redis`进行数据缓存,提高网站性能。 通过这些实例,学习者不仅可以了解PHP的基本语法,还能深入到实际项目开发中可能遇到的问题,例如用户认证、数据验证、网页动态...
这份资源对初学者来说,是一个很好的实践库,可以帮助他们快速掌握和运用JavaScript的常见功能。对于有经验的开发者,这些代码片段也能提供灵感和解决问题的参考。通过学习和理解这些代码,可以提升对JavaScript的...
内存管理涉及缓存和段合并策略,以优化性能和资源使用。 **8. 高级特性** Lucene还提供了高级特性,如拼写检查(SpellChecker)、地理位置搜索(Geospatial Search)、近实时搜索(Near Real-Time Search)以及复杂...
7. `一、使浏览器不缓存页面的过滤器.doc`:这份文档可能介绍了如何使用Java过滤器来禁用浏览器对网页的缓存,以确保每次访问都能获取最新的页面内容。 8. `java 代理机制.doc`:Java代理允许动态创建具有额外行为...
通过使用Spring Boot,开发者可以快速创建一个具备完整功能的Java Web项目,包括模板引擎、数据库访问等。 3. **网站模板结构** 一个完整的Java网站模板通常包含以下部分: - HTML/CSS/JavaScript:构成前端用户...
此外,通过调整分析器、相似度算法和缓存策略,可以对搜索性能进行优化。 10. **学习资源** 学习Lucene源码有助于开发者深入理解搜索引擎的工作原理,以及如何在实际项目中应用。社区提供的教程、文档和讨论论坛都...
例如,使用`START TRANSACTION`、`COMMIT`和`ROLLBACK`语句进行事务管理。 面试题9:提高Apache+MySQL+PHP性能的方法包括负载均衡、缓存策略(如Memcached、Redis)、优化SQL查询、开启OPcache、调整服务器配置等。...
- `web_load_cache`:加载先前保存的缓存,用于快速恢复状态。 4. **检查函数**: - `web_find`:在HTML页面中查找特定文本,用于验证页面内容。 - `web_global_verification`:在整个脚本执行期间搜索特定文本...
使用Relations建立表之间的关系并却使用PagedDataSource类对DataList进行分页 通过作业,定时同步两个数据库 SQLSERVER高级注入技巧 利用反射实现ASP.NET控件和数据实体之间的双向绑定,并且在客户端自动验证输入的...