html 参数不同 appcatch会缓存多个吗
展开全部
搂主的问题是不是在用户第一次访问一个动态页面的时候将该动态页面保存为一个静态页面,当有用户再次访问该动态页面时只需要将保存的静态页面展示给用户即可.
这样可以减少服务器解释jsp代码的次数.
1、编写一个实现 Filter 接口的类,这个类命名为 CacheFilter.java
2、修改web.xml添加Cache Filter的配置参数,将jsp的过滤类指向 CacheFilter 类。
3、在 CacheFilter 类中获取请求,如果请求为需要缓存页面,首先先判断是否被缓存过,如果没有被缓存过便将请求的页面保存为静态页面文件。最后从文件中读取静态页面并写入请求的响应里。重复本次操作进行其它页面的缓存。
原理如上所诉,很简单
为了方便,在实现中使用了网上的 jspbook 包,对包中的程序进行了修改,具体实现步骤如下:
1、下载 jspbook 包,地址: http://onjava.com/onjava/2003/11/19/examples/jspbook.zip
2、解压缩 jspbook 包,修改 CacheFilter 类 和 CacheResponseWrapper 类。
CacheFilter 类
69行:name = name.substring(0,name.lastIndexOf("/")==-10:name.lastIndexOf("/"));
改为:String filesp = System.getProperty("file.separator");
name = name.substring(0, name.lastIndexOf(filesp) == -1 0 : name.lastIndexOf(filesp));//修改 获得系统文件夹符号(源程序作者应该是外国人没有考虑中文符号)
75行:wrappedResponse.flushBuffer();// 增加 强制刷新
CacheResponseWrapper 类
35行:stream.flush();
改为: writer.flush();
3、建立动态web项目,建立com.jspbook包,将修改好的jspbook包中的类加入该包下面
4、将jspbook包中的jsp文件拷入web目录下
5、修改web.xml文件,下面是我写的项目的配置文件,请重点看带 filter 的标签
这样可以减少服务器解释jsp代码的次数.
1、编写一个实现 Filter 接口的类,这个类命名为 CacheFilter.java
2、修改web.xml添加Cache Filter的配置参数,将jsp的过滤类指向 CacheFilter 类。
3、在 CacheFilter 类中获取请求,如果请求为需要缓存页面,首先先判断是否被缓存过,如果没有被缓存过便将请求的页面保存为静态页面文件。最后从文件中读取静态页面并写入请求的响应里。重复本次操作进行其它页面的缓存。
原理如上所诉,很简单
为了方便,在实现中使用了网上的 jspbook 包,对包中的程序进行了修改,具体实现步骤如下:
1、下载 jspbook 包,地址: http://onjava.com/onjava/2003/11/19/examples/jspbook.zip
2、解压缩 jspbook 包,修改 CacheFilter 类 和 CacheResponseWrapper 类。
CacheFilter 类
69行:name = name.substring(0,name.lastIndexOf("/")==-10:name.lastIndexOf("/"));
改为:String filesp = System.getProperty("file.separator");
name = name.substring(0, name.lastIndexOf(filesp) == -1 0 : name.lastIndexOf(filesp));//修改 获得系统文件夹符号(源程序作者应该是外国人没有考虑中文符号)
75行:wrappedResponse.flushBuffer();// 增加 强制刷新
CacheResponseWrapper 类
35行:stream.flush();
改为: writer.flush();
3、建立动态web项目,建立com.jspbook包,将修改好的jspbook包中的类加入该包下面
4、将jspbook包中的jsp文件拷入web目录下
5、修改web.xml文件,下面是我写的项目的配置文件,请重点看带 filter 的标签
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询