`
strangeromo
  • 浏览: 63245 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

JSP中把动态页面转换为静态页面

    博客分类:
  • java
阅读更多

  要自动生成静态页面,用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相关,需要登陆或用户定制的页面不能用这种方法缓冲。

 

转载自:JSP中把动态页面转换为静态页面

分享到:
评论

相关推荐

    动态Jsp页面转换成静态Html页面

    动态Jsp页面转换成静态Html页面动态Jsp页面转换成静态Html页面动态Jsp页面转换成静态Html页面动态Jsp页面转换成静态Html页面动态Jsp页面转换成静态Html页面动态Jsp页面转换成静态Html页面动态Jsp页面转换成静态Html...

    JSP中把动态页面转换为静态页面.doc

    解决大型网站频繁查询数据库的问题,一定程度上可以暂时解决问题!

    jsp实现将动态网页转换成静态页面的方法.docx

    jsp实现将动态网页转换成静态页面的方法.docx

    jsp实现将动态网页转换成静态页面的方法

    本文实例讲述了jsp实现将动态网页转换成静态页面的方法。分享给大家供大家参考。具体如下: 如果我可以将jsp动态网页转换成静态页面,那么访问的时候就不需要频繁的访问数据库了。 jsp 显示内容缓存技巧 前段时间做...

    jsp页面转换成静态页面

    jsp页面转换成静态页面 jsp页面转换成静态页面

    动态Jsp页面转换成静态Html页面.zip

    动态Jsp页面转换成静态Html页面.zip

    动静态网页转换器

    为了大大减小服务器的负担,减少数据库的访问次数,减小服务器系统资 源的不必要的浪费,明显增大网站的访问速度等等,把访问量很大的动态 网页(ASP、JSP、PHP等)批量转换成静态网页,保留动态网页的所有显示...

    快速将psd,jsp等静态资源转换为html页面

    快速将psd,jsp等静态资源转换为html页面

    JSP技术实现动态页面到静态页面的方法

    本文是介绍了jsp技术实现动态页面到静态页面的方法,分享给大家,具体如下: 对于JSP技术实现动态页面到静态页面的方案,我们从三个步骤来说明: JSP技术实现动态页面到静态页面的方案第一: 为了能深入浅出的理解这...

    网页动静转换工具 v1.0.zip

    其主要作用是自动把动态网页中的include部分内容,替换为相应的文件内容,支持include嵌套 网页动静转换工具使用方法: 选择你需要转换网页的类型,以及网站文件的根目录; 选择你需要转换之后的网页类型,以及...

    JSP(全称JavaServer Pages)

    JSP将Java代码和特定变动内容嵌入到静态的页面中,实现以静态页面为模板,动态生成其中的部分内容。JSP引入了被称为“JSP动作”的XML标签,用来调用内建功能。另外,可以创建JSP标签库,然后像使用标准HTML或XML标签...

    JSP静态导入与动态导入使用详解

    使用了include指令的JSP页面在转换成Java文件时,将被插入的文件在当前JSP页面出来该指令的位置做整体的插入,合并成一个新的JSP页面,然后JSP引擎再将这个新的JSP页面转译成Java文件。因此,必须保证插入文件后形成...

    JSP-常用编码转换工具

    在做J2EE时,经常需要将静态网页转换成jsp,但下载下来的htm或htm文件本身是UTF8和unicode,直接改成jsp会变成乱码,在MyEclipse中修改也不成,颇费劲。这个代码程序就是用来读取某种编码格式的html或txt文件并将它...

    jsp经典笔记jsp经典笔记

    JSP(java server page) 1.JSP介绍: JSP是服务器端运行的页面,JSP本身就是一个Servlet,他不仅可以包含静态的HTML代码,也可以包含动态的JAVA代码,服务器容器可以将JSP转换成Servlet...4,JSP是以静态页面为主的。

    JSP网页编程(JSP学生信息管理系统)

    JSP是服务器端运行的页面,JSP本就是一个文档,他不仅可以包含静态的HTML代码,也可以包含动态的JAVA代码,服务器容器可以将JSP转换成Servlet发布,并接受请求。 Jsp文件只需放在应用文件下就可以了。

    java伪静态URL重写的方法

    伪静态URL重写实际就是以静态地址(如:http://127.0.0.1:8080/pro/index.html)访问地态网页的方法(如:http://127.0.0.1:8080/pro/index.jsp)。 ...把静态的URL地址转换成动态地址,发起请求。

    jsp-企业人事管理系统.rar.tar.gz

    JSP将Java代码和特定变动内容嵌入到静态的页面中,实现以静态页面为模板,动态生成其中的部分内容。JSP引入了被称为“JSP动作”的XML标签,用来调用内建功能。另外,可以创建JSP标签库,然后像使用标准HTML或XML标签...

Global site tag (gtag.js) - Google Analytics