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

java 静态化 mapping生产静态页面核心代码

    博客分类:
  • Java
阅读更多
package test;   
  
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.HttpServletRequest;   
import javax.servlet.http.HttpServletResponse;   
import javax.servlet.http.HttpServletResponseWrapper;   
  
public class CreateHTMLTest {   
  
    /**  
     *   
     * @param request  
     * @param response  
     * @param jsp_url   
     * @param html_url  
     */  
    public static void createHTML(HttpServletRequest request,   
            HttpServletResponse response, String jsp_url, String html_url) {   
        FileOutputStream fos = null;   
  
        response.setContentType("text/html;charset=gb2312");   
        ServletContext context = request.getSession().getServletContext();   
        RequestDispatcher dispatcher = context.getRequestDispatcher(jsp_url);   
  
        final ByteArrayOutputStream baos = new ByteArrayOutputStream();   
        final ServletOutputStream stream = new ServletOutputStream() {   
            public void write(byte[] data, int offset, int length) {   
                baos.write(data, offset, length);   
            }   
  
            public void write(int b) throws IOException {   
                baos.write(b);   
            }   
        };   
  
        final PrintWriter pw = new PrintWriter(new OutputStreamWriter(baos));   
        HttpServletResponse rep = new HttpServletResponseWrapper(response) {   
            public ServletOutputStream getOutputStream() {   
                return stream;   
            }   
  
            public PrintWriter getWriter() {   
                return pw;   
            }   
        };   
        try {   
               
            dispatcher.include(request, rep);   
            pw.flush();   
            fos = new FileOutputStream(html_url);   
            baos.writeTo(fos);   
  
        } catch (ServletException e) {   
            e.printStackTrace();   
        } catch (IOException e) {   
            e.printStackTrace();   
        } finally {   
            try {   
                fos.close();   
            } catch (IOException e) {   
                e.printStackTrace();   
            }   
        }   
  
    }   
  
}  



分享到:
评论

相关推荐

    java urlrewrite 实现伪静态化 demo源码

    Java URLRewrite是一个非常实用的库,用于在服务器端实现URL重写,进而实现网站的伪静态化。这个技术在优化网站SEO(搜索引擎优化)和提高用户体验方面具有重要作用。在这个"java urlrewrite 实现伪静态化 demo源码...

    工一说javaweb之smbms实战静态资源.zip

    通过这个压缩包,开发者可以了解到如何组织一个Java Web项目,包括静态资源的存储和使用,以及它们与服务器端代码的交互方式。实际操作时,应结合源代码逐步理解每个部分的作用,从而提升自己的Java Web开发技能。

    oa静态页面

    【OA静态页面】是企业信息化建设中的一个重要组成部分,主要用于实现办公自动化系统的用户界面展示。在Spring、Hibernate和Struts这三大框架的集成下,可以构建高效、稳定的OA系统前端。这三个框架分别是Spring作为...

    新闻发布系统静态页面

    【新闻发布系统静态页面】是一种常见的网站构建方式,用于发布、管理和展示各类新闻资讯。这个系统包含前后台两大部分,能够提供高效的信息发布和用户浏览体验。在设计上,它注重布局的合理性,使得用户可以轻松地...

    达内学子商城项目码源+静态页面

    2. **数据库交互**:Java码源中会有与数据库进行交互的代码,如JDBC(Java Database Connectivity)或ORM(Object-Relational Mapping)框架如Hibernate或MyBatis,用于执行SQL语句,实现数据的增删改查。...

    java后台管理系统后台代码.rar

    Java后台管理系统后台代码是一个用于构建企业级Web应用的框架或示例项目,它通常包含了诸如用户管理、权限控制、数据操作、业务逻辑等核心功能。这个压缩包中的内容可能涵盖了一个完整的Java后端项目的各个组成部分...

    java博客项目源代码

    - 压缩包中的"BlogOnline"可能是项目的主要目录,包含了源码、资源文件、配置文件等,如WEB-INF目录下的web.xml(Web应用配置文件)、src目录下的Java源代码、lib目录下的依赖库、以及静态资源如CSS、JavaScript...

    网上投票系统(java实现)

    - `voting`: 这个目录可能包含了项目的源代码,包括Java类、配置文件、Web相关的资源(如JSP页面、CSS、JavaScript等)。 - `pom.xml`: Maven的项目对象模型文件,定义了项目依赖和构建过程。 - `README.md` 或其他...

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

    ### JSP实现将动态网页转换成静态页面的方法 #### 概述 在Web开发中,为了提高网站的访问速度及减少服务器对数据库的频繁访问,一种常见的做法是将原本动态生成的内容转换为静态页面。本篇文章将深入探讨如何通过...

    java简单数据库系统

    让我们深入了解一下Java与数据库交互的核心知识点。 首先,Java提供了多种方式来连接和操作数据库,最常用的是Java Database Connectivity (JDBC) API。JDBC是一个标准接口,允许Java应用程序与各种类型的数据库...

    尚硅谷Java8练习Java源码

    Java 8是Java编程语言的一个重要版本,引入了许多新特性,极大地提升了开发效率和代码质量。尚硅谷作为知名的在线教育平台,提供了丰富的Java8教学资源,包括本套Java8练习源码,帮助学习者深入理解和掌握这个版本的...

    Java web网站开发 PPT

    常见的JSP动作标签有`<jsp:include>`(用于包含静态或动态资源)、`<jsp:forward>`(用于将请求转发给另一个页面)和`<jsp:useBean>`(用于实例化和管理Java对象,即JavaBeans)等。 **JavaBeans** 是Java的一种...

    5款新闻发布系统(JSP+JAVA源代码)

    1. **JSP与JAVA基础**:JSP是Java平台上的动态网页技术,它允许开发者在HTML页面中嵌入Java代码,实现服务器端的动态处理。JAVA作为后端编程语言,提供了丰富的类库和API,支持面向对象编程,为新闻系统的业务逻辑...

    Java Web开发基础知识

    JSP页面可以包含静态HTML、Java代码和脚本元素。在服务器端,JSP会被转换为Servlet,然后执行并返回结果给客户端。 接着,我们有JSTL(JavaServer Pages Standard Tag Library),它提供了一套标准的标签库,简化了...

    第一行代码Java源代码第14章课程代码Java数据库

    Java提供了多种方式来连接和操作数据库,包括JDBC(Java Database Connectivity)和ORM(Object-Relational Mapping)框架如Hibernate。以下是关于这个主题的详细知识点: 1. JDBC:JDBC是Java语言访问数据库的标准...

    java 数据库高级编程代码

    8. **ORM框架**: ORM(Object-Relational Mapping)框架如Hibernate和MyBatis,简化了Java与数据库之间的交互。它们提供了面向对象的方式来操作数据库,减少了对JDBC的直接依赖。 9. **JPA(Java Persistence API)...

    java 仓库管理系统软件源代码.zip

    JSP是一种动态网页开发技术,它允许开发者将静态HTML内容与Java代码结合起来,以创建交互式的Web应用。在仓库管理系统中,JSP主要用于构建用户界面,展示数据并接收用户输入,处理用户的请求,并将结果返回给用户。 ...

    java开发文档大全

    JSP是Java EE的一部分,允许开发者在HTML页面中嵌入Java代码,以实现动态内容生成。JSP的文档会涵盖指令、脚本元素、表达式语言以及自定义标签等概念。 7. **Spring框架** Spring是Java后端开发中最流行的框架之...

    JAVA_WEB_PPT.rar_java ppt_java web_java web ppt_java.ppt

    EL(Expression Language)和JSTL(JavaServer Pages Standard Tag Library)简化了页面表达式和标签的使用,提高了代码可读性。 **四、MVC模式** 在Java Web开发中,MVC模式广泛应用于构建Web应用程序。Model负责...

Global site tag (gtag.js) - Google Analytics