- 浏览: 228136 次
- 性别:
- 来自: 深圳
文章分类
最新评论
-
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 860Heritrix 是一个由 java 开 ... -
java解析xml文件四种方式
2011-01-10 16:23 6951.介绍 1)DOM(JAXP Crims ... -
Spring AOP的两种实现方式
2010-12-10 09:16 874来源:http://javacrazyer.iteye.com ... -
详解Java解析XML的四种方法
2010-12-09 22:31 818来源:http://mengsina.iteye.co ... -
(转载)手写压缩软件,超详细解释(哈夫曼实现)
2010-12-07 11:17 1047转载自:http://stchou.iteye.com/b ... -
java通过包装器防SQL注入
2010-01-29 11:04 1180定义包装器对request进行 ... -
comparable 与comparator的区别
2010-01-29 09:12 927Comparable & Comparator 都是用 ... -
Java经典问题算法大全
2010-01-28 20:52 2998/*【程序1】题目:古典 ... -
Java各种排序算法
2010-01-28 20:50 893/*** 排序测试类* * 排序算法的分类如下:* 1.插入排 ... -
Java细节总结
2010-01-28 20:46 687TURE、FALSE、NULL等都不是Java关键字; 数组 ... -
设计异常管理系统
2010-01-28 20:37 819——针对有效的错误处理设计异常管理系统 作者:Jean-Pie ... -
详解ThreadLocal与synchronized
2010-01-28 20:14 767Java良好的支持多线程。使用java,我们可以很轻松的编程一 ... -
在有多个选择路径的情况下,利用Switch可以使程序更加简洁有效。但由于其只能对整数选择因子进行判断,所以限制了其在其他类型尤其是String的使用,本文利用J
2010-01-28 20:04 851在有多个选择路径的情况下,利用Switch可以使程序更加简洁有 ... -
java优化编程37条
2010-01-28 20:00 6831.JVM管理两种类型的内 ... -
服务器推送技术 java
2009-12-28 12:11 6246下面介绍在ARP之上的一个非常热门的技术实现:服务器推送技术。 ... -
java排序集锦
2009-12-16 09:29 804Java代码 package sort; ... -
3DES加密解密调用示例
2009-12-15 10:02 961在java中调用sun公司提供的3DES加密解密算法时,需要使 ... -
java货币 Locale Currency NumberFormat
2009-12-04 18:14 2338使用java currency配合Locale,NumberF ... -
Deque 作为堆栈使用(ArrayDeque)
2009-12-04 18:09 2756package code.jdk; imp ... -
Random类
2009-12-04 14:00 1010Random类 (java.util) ...
相关推荐
使用filter验证session用户和页面缓存问题处理
源代码 博文链接:https://msj.iteye.com/blog/179663
如何使用bloomfilter构建大型Java缓存系统Java开发Java经验技巧共5页.pdf.zip
对request请求进行拦截,对请求参数修改。常用于前台提交表单参数关键字的过滤。此工具可以对参数拦截并转义后提交到对应的处理类。 除了添加两个JsFilter.java和GetHttpServletRequestWrapper.java之外,需要在web....
1、Filter的理解和应用 实现一个禁止缓存的过滤器。 要求和提示: (1)禁止浏览器缓存所有动态页面;...通过监听器记录在线用户的姓名,在页面进行用户姓名的显示,同时实现对某个用户的强制下线功能。
bloomfilter.js, 使用FNV的JavaScript bloom filter快速散列 Bloom过滤器This过滤器实现使用非加密 Fowler-Noll-Vo散列函数来实现速度。用法var bloom = new BloomFilter( 32 * 256,//number of bits to all
主要介绍了使用filter实现url级别内存缓存示例,只需要一个静态类,在filter中调用,也可以全部写到filt里面。可以根据查询参数分别缓存,需要的朋友可以参考下
使用filter对字符进行过滤,即在Filter中将HttpServletRequest 里的所有参数都取出来分别进行过滤然后再放回到该HttpServletRequest 中。
Filter中的模糊过滤: 要实现模糊过滤,BDE中要用“*”,不允许使用“Like”关键字,且只能向后匹配,如“Fcode=’101*’”;而ADO则是使用“%”或“*”都可以,可以使用“Like”关键字,且和SQL语句用法一致,可以...
使用spring+springmvc框架 整合了Mybatis持久层框架 整合Druid用于数据库连接,并使用Druid对业务层...使用了sitemesh对网页进行布局和修饰 使用了loginFilter对访问进行登录过滤 使用了CheckCodeServlet生成验证码图片
当应用程序调用Session的save()、update()、savaeOrUpdate()、get()或load(),以及调用查询接口的list()、iterate()或filter()方法时,如果在Session缓存中还不存在相应的对象,Hibernate就会把该对象加入到第一级...
filter grid filter网页点击右侧Tag快速添加
1. Filter 1.1.概念: web 中的过滤器:当访问服务器的资源时,过滤器可以将请求拦 截下来,完成一些特殊的功能。 过滤器的作用: 用于完成通用的操作。如:登录验证、统一编码处理、敏感字符过滤 2. 动态代理 2.1....
主要使用Filter针对Xss攻击,sql注入,服务器访问白名单,以及csrf进行安全校验 1,主要实现的是三大块功能:Xss攻击,sql注入,服务器白名单,以及csrf 2,此Filter为真实项目部署,在XssHttpServletRequestWrapper...
此资源与我的博客12_JavaWeb——Filter&Listener中的案例对应,在11_JavaWeb——Cookie&Session案例资源基础上加上了过滤器,实现了对未登录用户的拦截,希望有所帮助。
XSS是一种经常出现在web应用中的计算机安全漏洞,它允许恶意web用户将代码植入到提供给其它用户使用的页面中。比如这些代码包括HTML代码和客户端脚本。攻击者利用XSS漏洞旁路掉访问控制——例如同源策略(same origin...
初学者学会Filter类的使用有很大的帮助
在MATLAB中通过FFT实现filter函数的功能,并且具有更快的速度。