`
yixibo
  • 浏览: 185534 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

JSP生成HTML ,真真意义的缓存

阅读更多

  toHtml.java(不用修改,直接用)  
  
    package com.jetsum.mystatic;

    import java.io.ByteArrayOutputStream;
    import java.io.FileOutputStream;
    import java.io.IOException;
    import java.io.OutputStreamWriter;
    import java.io.PrintWriter;
    import javax.servlet.RequestDispatcher;
    import javax.servlet.ServletContext;
    import javax.servlet.ServletException;
    import javax.servlet.ServletOutputStream;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    import javax.servlet.http.HttpServletResponseWrapper;

    public class toHtml extends HttpServlet {

        public void service(HttpServletRequest request, HttpServletResponse response)
                        throws ServletException, IOException {
                String url = request.getParameter("urls")!=null?request.getParameter("urls"):"";
                //url是要生成htm的jsp页面
                String name = "";
                response.setContentType("text/html;charset=gb2312");
                ServletContext sc = getServletContext();
                System.out.println("request.getRealPath"+request.getRealPath(""));
                 name = request.getRealPath("") + "/index.htm";      /*生成htm页  位置在%服务器的根目录%/工程名/index.htm 例如:d:/tomcat5.0/webapp/studyteach/index.htm  ,注意这里是在根目录生成,你可以生成后放到你想放的文件夹里,保证其它东西如图片的路径正确     这里就写成name = request.getRealPath("") + "/kszx/kszx.htm";      */

              RequestDispatcher rd = sc.getRequestDispatcher(url);

                final ByteArrayOutputStream os = new ByteArrayOutputStream();

                final ServletOutputStream stream = new ServletOutputStream()
                {
                        public void write(byte[] data, int offset, int length) {
                                os.write(data, offset, length);
                        }

                        public void write(int b) throws IOException {
                                os.write(b);
                        }
                };

                final PrintWriter pw = new PrintWriter(new OutputStreamWriter(os));

                HttpServletResponse rep = new HttpServletResponseWrapper(response)
                {
                        public ServletOutputStream getOutputStream() {
                                return stream;
                        }

                        public PrintWriter getWriter() {
                                return pw;
                        }
                };
                rd.include(request, rep);
                pw.flush();
                FileOutputStream fos = new FileOutputStream(name); // 把jsp输出的内容写到xxx.htm
                os.writeTo(fos);
                fos.close();
                PrintWriter out = response.getWriter();
                out.print("<p align=center><font size=3 color=red>首页已经成功生成!</font></p>");
            }
    }
    web.xml
    中添加
       <servlet>
        <servlet-name>tohtm</servlet-name>
        <servlet-class>com.jetsum.mystatic.toHtml</servlet-class>
    </servlet>

      <servlet-mapping>
        <servlet-name>tohtm</servlet-name>
        <url-pattern>/web/tohtm</url-pattern>
      </servlet-mapping>
    使用方法很简单  mytest.jsp(wwwroot下)
    <a href="web/tohtm?urls=/kszx/kszx.jsp">生成静态页</a>    kszx.jsp为要生成htm的动态页
    如果不在wwwroot下,在wwwroot/pp下
    就要写成
    <a href="../web/tohtm?urls=/kszx/kszx.jsp">生成静态页</a>

 

分享到:
评论

相关推荐

    JSP 页面缓存以及清除缓存

    页面缓存的原理是在首次请求时生成页面内容,并将其存储在内存或其他存储介质中,后续相同或类似的请求可以直接从缓存中获取已生成的内容,而不是重新执行整个页面生成流程。 #### 二、JSP页面缓存机制 JSP页面...

    jsp 生成 HTML 静态页实例

    JSP技术允许开发者将HTML代码与Java代码混合编写,然后在服务器端运行Java代码,生成HTML页面返回给客户端。本文将深入探讨如何使用JSP生成HTML静态页,通过一个简单易懂的小例子进行讲解。 首先,了解为什么要将...

    通过jsp模板生成html

    JSP允许开发者将HTML代码与Java代码相结合,从而在服务器端生成动态内容。本篇我们将深入探讨如何通过JSP模板生成静态HTML,以及这个过程中的关键知识点。 一、JSP简介 JSP是Java平台上的一个标准,由Sun ...

    jsp生成html网页教程

    本教程聚焦于如何利用JSP生成HTML网页,以提升网页的访问速度。 一、JSP的基本原理 JSP是由Java开发的一种服务器端脚本语言,它与PHP和ASP.NET类似,但基于强大的Java语言。当客户端请求一个JSP页面时,服务器会将...

    JSP生成静态页面

    在JSP中,我们通常会写一些动态代码,如Java脚本、EL(Expression Language)和JSTL(JavaServer Pages Standard Tag Library)等,这些代码在服务器端执行后生成HTML并发送到客户端。然而,每次用户访问时,服务器...

    jsp生成html文档

    jsp生成html的源代码文件,放到项目中可以把动态的jsp文件转换成静态的html文档

    jsp 生成二维码

    JSP是一种动态网页开发技术,它允许我们将Java代码嵌入到HTML页面中,从而实现服务器端的数据处理和动态内容生成。在生成二维码的过程中,JSP主要负责接收前端输入的数据、调用二维码生成库并返回生成的二维码图像。...

    JSP动态生成HTML静态页面源码

    JSP动态生成HTML静态页面是一种优化网站性能的技术,它能够将频繁访问的动态内容转换为静态HTML页面,从而减轻服务器负担,提高网页加载速度。本源码提供了实现这一功能的具体方法。 首先,我们需要理解JSP的工作...

    jsp生成动态验证码

    jsp生成动态验证码,jsp生成动态验证码。

    jsp动态生成html 3种方法

    ### jsp动态生成html 3种方法 在Web开发领域,动态页面技术是十分重要的一个环节,其中JSP(Java Server Pages)作为一种广泛使用的服务器端脚本语言,它能够实现动态网页的创建与生成。本文将详细介绍JSP动态生成...

    jsp页面生成word或excel

    #### 一、使用JSP生成Word文档 在JSP中生成Word文档可以通过设置正确的`content-type`来实现。具体来说,只需要在JSP页面的头部添加以下指令: ```jsp ``` 这样设置后,当用户访问该JSP页面时,如果他们的计算机...

    HTML,JSP页面缓存的解决方案

    ### HTML与JSP页面缓存解决方案 在Web开发过程中,页面缓存问题一直是开发者们关注的重点之一。合理的页面缓存管理不仅可以提升用户体验,还可以减轻服务器压力。然而,在某些情况下,如模态窗口中的POSTBACK操作时...

    JSP生成条码源码及详解

    将生成的条码图像嵌入到JSP页面中,可以使用HTML `&lt;img&gt;` 标签引用这个JSP页面。确保设置正确的`src`属性,指向生成条码的JSP页面,并设置合适的宽高属性。 6. **性能优化** 如果频繁生成条码,考虑将生成过程移...

    jsp去除浏览器缓存

    ### jsp去除浏览器缓存详解 #### 一、引言 在Web开发中,为了提高用户体验及页面加载速度,浏览器通常会缓存一部分资源。但有时为了确保用户获取到最新的内容,我们需要禁止或控制浏览器对特定页面的缓存。本文将...

    java/jsp生成静态页面html/htm

    java/jsp生成静态页面html/htm

    jsp生成pdf文件

    本篇文章将详细探讨如何在JSP页面中利用Highcharts生成的统计图表和其他信息导出为PDF。 首先,Highcharts是一个强大的JavaScript图表库,用于在网页上创建各种类型的数据可视化图表,如柱状图、折线图、饼图等。它...

    java jsp 生成 pdf flyingsaucer

    Java JSP 生成 PDF 使用的是一个名为 Flying Saucer 的库,它是一个开源项目,专门用于将 HTML 内容转换为高质量的 PDF 文件。这个过程在 IT 行业中非常重要,因为许多应用程序需要将动态生成的网页内容导出为可打印...

    JSP生成图片验证码

    JSP生成图片验证码.txtJSP生成图片验证码.txtJSP生成图片验证码.txtJSP生成图片验证码.txtJSP生成图片验证码.txt

    jsp缓存方式

    二是客户端浏览器对JSP渲染后HTML页面的缓存。这两种缓存方式对于提升用户体验和减轻服务器压力都至关重要。 1. **服务器端缓存**:当JSP页面首次被请求时,服务器会将其编译成Servlet,并缓存该编译结果。后续请求...

    应用再html、jsp上的自动生成Cron表达式

    本篇文章将深入探讨如何在HTML和JSP上自动生成Cron表达式以及相关知识点。 **1. Cron表达式介绍** Cron表达式是Unix/Linux系统中的定时任务调度器Cron的一个组成部分,它由六个或七个由空格分隔的字段组成,每个...

Global site tag (gtag.js) - Google Analytics