文章分类 | 推荐文章 | 最新文章 | 热点文章 | 最新软件 | 国产软件 | 国外软件 | 汉化补丁 | 设为首页 | 加入收藏
图形处理 操作系统 电脑入门 办公软件 游戏地带 网站建设 认证考试 精彩网文 网络技术 网络编程 技术开发 工具软件 媒体动画 QQ相关
当前位置:abcdown网络学院网络编程JSP实例:JSP中把动态页面转换为静态页面
精品广告
推荐TOP10
·什么是 JSP 技术?
·JSP简介
·JSP数据库操作例程
·新手入门:学习JSP的经典的入门学习资料
·由浅入深学习动态网页制作PHP的编程与应用
·输入汉字自动转为拼音(jsp实现方式)
·经验分享 JSP程序员完全蜕变手册
·JSP实战:JBuilder2005中创建数据库表
·新手入门:JSP基本语法与简单表单处理
·使用技巧:在JSP页面中的应用JavaBean
阅读TOP10
·JSP和JSF双剑合并 打造完美Web应用
·Mysql与JSP网页中文乱码问题的解决方案
·用JSTL实现JSP应用程序快速开发
·用JSP+JavaScript打造二级级联下拉菜单
·输入汉字自动转为拼音(jsp实现方式)
·jsp的八个隐含对象
·新手入门:JSP基本语法与简单表单处理
·JSP实现图形验证码-汉字
·新手入门:学习JSP的经典的入门学习资料
·实例:JSP中把动态页面转换为静态页面

实例:JSP中把动态页面转换为静态页面

日期:2007年6月27日 作者: 查看:[大字体 中字体 小字体]


要自动生成静态页面,用Filter截获jsp请求并先进行预处理,自动生成Html,是个不错的主意。一个很容易想到的方法是在Filter截获Request后,导向一个Servlet,在这个Servlet中向本机发送一个http请求,然后将响应写入一个文件:

URLConnection urlConn = URLConnection.open(http://localhost/req);

注意要避免递归。

另一个方法是不模拟http,而是定制Response,把服务器返回的JSP响应输出到我们自己的Response中,就可以将响应快速写入Html文件,然后再发送给客户。而且,由于没有http模拟请求,直接读取服务器响应速度非常快。

截获Response的关键便是实现一个WrappedResponse,让服务器将响应写入我们的WrappedResponse中。这类似于一个代理模式,Servlet 2.x已经提供了一个WrappedResponse类,我们只需要复写其中的一些关键方法即可。

WrappedResponse实现了Response接口,它需要一个Response作为构造函数的参数,事实上这正是代理模式的应用:WrappedResponse充当了代理角色,它会将JSP/Servlet容器的某些方法调用进行预处理,我们需要实现自己的方法。

综上:用Filter实现HTML缓冲的步骤是:

1. 用Filter截获请求,如/a.jsp?id=123,映射到对应的html文件名为/html/a.jsp$id=123.htm。

2. 查找是否有/html/a.jsp$id=123.htm,如果有,直接forward到此html,结束。

3. 如果没有,实现一个WrappedResponse,然后调用filterChain(request, wrappedResponse)。

4. 将返回的WrappedResponse写入文件/html/a.jsp$id=123.htm,然后返回响应给用户。

5. 下一次用户发送相同的请求时,到第2步就结束了。

使用这个方法的好处是不用更改现有的Servlet,JSP页,限制是,JSP页面结果不能与Session相关,需要登陆或用户定制的页面不能用这种方法缓冲。



上一篇:使用技巧:对Java编程中的文件操作详解

下一篇:Linux操作系统个性化配置技巧详细介绍


相关软件: 相关文章:
·28套 个人主页 模板
·DreamWeaver UltraDev动态网页设计
·翻页效果
·古典网页模板
·精美网页模板一(20套)
·网页制作三剑客教程 iso 视频教程,详见查看
·东方网页王 V5.0 测试版
·网页播放器代码全集及详细说明[精]
·ie二级网页打不开 复制粘贴不能用
·打造一个通用ASP.NET数据分页控件
·修改QQ密码将改至网页上进行
·WORD中要打目录,那些指引页码的点怎么打出来
·在web页面中打印功能的实现问题集锦
·打开网页自动设为首页代码

特别声明:本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作者。文章版权归文章原始作者所有。对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转载的文章有版权问题请联系编辑人员,我们尽快予以更正。
[打印本页] [关闭窗口] 转载请注明来源:http://www.abcdown.net
首页 | 本站声明 | 下载帮助 | 发布软件 |
中文版权所有:ABC学院 浙ICP备05000717号