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是一个非常实用的库,用于在服务器端实现URL重写,进而实现网站的伪静态化。这个技术在优化网站SEO(搜索引擎优化)和提高用户体验方面具有重要作用。在这个"java urlrewrite 实现伪静态化 demo源码...
通过这个压缩包,开发者可以了解到如何组织一个Java Web项目,包括静态资源的存储和使用,以及它们与服务器端代码的交互方式。实际操作时,应结合源代码逐步理解每个部分的作用,从而提升自己的Java Web开发技能。
【OA静态页面】是企业信息化建设中的一个重要组成部分,主要用于实现办公自动化系统的用户界面展示。在Spring、Hibernate和Struts这三大框架的集成下,可以构建高效、稳定的OA系统前端。这三个框架分别是Spring作为...
【新闻发布系统静态页面】是一种常见的网站构建方式,用于发布、管理和展示各类新闻资讯。这个系统包含前后台两大部分,能够提供高效的信息发布和用户浏览体验。在设计上,它注重布局的合理性,使得用户可以轻松地...
2. **数据库交互**:Java码源中会有与数据库进行交互的代码,如JDBC(Java Database Connectivity)或ORM(Object-Relational Mapping)框架如Hibernate或MyBatis,用于执行SQL语句,实现数据的增删改查。...
Java后台管理系统后台代码是一个用于构建企业级Web应用的框架或示例项目,它通常包含了诸如用户管理、权限控制、数据操作、业务逻辑等核心功能。这个压缩包中的内容可能涵盖了一个完整的Java后端项目的各个组成部分...
- 压缩包中的"BlogOnline"可能是项目的主要目录,包含了源码、资源文件、配置文件等,如WEB-INF目录下的web.xml(Web应用配置文件)、src目录下的Java源代码、lib目录下的依赖库、以及静态资源如CSS、JavaScript...
- `voting`: 这个目录可能包含了项目的源代码,包括Java类、配置文件、Web相关的资源(如JSP页面、CSS、JavaScript等)。 - `pom.xml`: Maven的项目对象模型文件,定义了项目依赖和构建过程。 - `README.md` 或其他...
### JSP实现将动态网页转换成静态页面的方法 #### 概述 在Web开发中,为了提高网站的访问速度及减少服务器对数据库的频繁访问,一种常见的做法是将原本动态生成的内容转换为静态页面。本篇文章将深入探讨如何通过...
让我们深入了解一下Java与数据库交互的核心知识点。 首先,Java提供了多种方式来连接和操作数据库,最常用的是Java Database Connectivity (JDBC) API。JDBC是一个标准接口,允许Java应用程序与各种类型的数据库...
Java 8是Java编程语言的一个重要版本,引入了许多新特性,极大地提升了开发效率和代码质量。尚硅谷作为知名的在线教育平台,提供了丰富的Java8教学资源,包括本套Java8练习源码,帮助学习者深入理解和掌握这个版本的...
常见的JSP动作标签有`<jsp:include>`(用于包含静态或动态资源)、`<jsp:forward>`(用于将请求转发给另一个页面)和`<jsp:useBean>`(用于实例化和管理Java对象,即JavaBeans)等。 **JavaBeans** 是Java的一种...
1. **JSP与JAVA基础**:JSP是Java平台上的动态网页技术,它允许开发者在HTML页面中嵌入Java代码,实现服务器端的动态处理。JAVA作为后端编程语言,提供了丰富的类库和API,支持面向对象编程,为新闻系统的业务逻辑...
JSP页面可以包含静态HTML、Java代码和脚本元素。在服务器端,JSP会被转换为Servlet,然后执行并返回结果给客户端。 接着,我们有JSTL(JavaServer Pages Standard Tag Library),它提供了一套标准的标签库,简化了...
Java提供了多种方式来连接和操作数据库,包括JDBC(Java Database Connectivity)和ORM(Object-Relational Mapping)框架如Hibernate。以下是关于这个主题的详细知识点: 1. JDBC:JDBC是Java语言访问数据库的标准...
8. **ORM框架**: ORM(Object-Relational Mapping)框架如Hibernate和MyBatis,简化了Java与数据库之间的交互。它们提供了面向对象的方式来操作数据库,减少了对JDBC的直接依赖。 9. **JPA(Java Persistence API)...
JSP是一种动态网页开发技术,它允许开发者将静态HTML内容与Java代码结合起来,以创建交互式的Web应用。在仓库管理系统中,JSP主要用于构建用户界面,展示数据并接收用户输入,处理用户的请求,并将结果返回给用户。 ...
JSP是Java EE的一部分,允许开发者在HTML页面中嵌入Java代码,以实现动态内容生成。JSP的文档会涵盖指令、脚本元素、表达式语言以及自定义标签等概念。 7. **Spring框架** Spring是Java后端开发中最流行的框架之...
EL(Expression Language)和JSTL(JavaServer Pages Standard Tag Library)简化了页面表达式和标签的使用,提高了代码可读性。 **四、MVC模式** 在Java Web开发中,MVC模式广泛应用于构建Web应用程序。Model负责...