在网站应用中,为了提高页面的访问速度,经常需要将动态页面静态化以提高页面的访问速度,因为动态页面一般要从数据库检索信息,频繁访问动态页面会大大提高数据库的负载,并且访问速度也比静态页面慢.本文通过在程序里建立一个http请求,将返回的输出流存储为html文件的方式来生成静态页面.在CMS类的应用中,信息发布完可直接调用这段代码,给定一个动态连接地址如http://localhost:8080/cms/info.jsp?infoid=001,生成一个静态页面,代码如下:
package org.apache.easframework.common;
import java.io.BufferedReader;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
import java.net.URLConnection;
/**
* 将信息发布为静态页面
* @author bzwang
*
*/
public class DynInfo2Html
{
/**
* 将信息转化为静态html
* @param sSourceUrl 动态信息访问URL
* @param sDestDir 存储为静态文件的目录
* @param sHtmlFile 生成的静态文件名,可以按信息的唯一ID+.html命名
* @throws IOException
*/
public static void convert2Html(String sSourceUrl,String sDestDir,String sHtmlFile) throws IOException
{
int HttpResult;
URL url=new URL(sSourceUrl);
URLConnection urlconn=url.openConnection();
urlconn.connect();
HttpURLConnection httpconn=(HttpURLConnection)urlconn;
HttpResult=httpconn.getResponseCode();
if(HttpResult!=HttpURLConnection.HTTP_OK)
{
}
else
{
InputStreamReader isr =
new InputStreamReader(httpconn.getInputStream());
BufferedReader in = new BufferedReader(isr);
String inputLine;
if(!sDestDir.endsWith("/"))sDestDir+="/";
FileOutputStream fout = new FileOutputStream(sDestDir+sHtmlFile);
while ((inputLine = in.readLine()) != null)
{
fout.write(inputLine.getBytes());
}
in.close();
fout.close();
}
}
public static void main(String[] args) throws IOException
{
convert2Html("http://localhost:9080/system/show.jsp?infoid=b3cd5cf4082a4bbebe70e332cb43fcb2","D:/projects/myproject/Src/b2c_front/Jsp/module/bzhzx/html","aaaa.html");
}
}
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/baozhengw/archive/2007/12/19/1952982.aspx
分享到:
相关推荐
JSP中,有两种包含其它文件的方式,一种是静态包含,一种是动态包含。本文介绍其中的静态包含。 所谓静态包含,跟ASP中的包含是一样的效果,即将所有包含的文件,先静态的包含进来,组成一个大的JSP文件,然后再经过...
JDK 1.5 +ECLIPSE +TOMCAT 5.0.28 + MYSQL 5.0 数据库TEST ,表名news 字段: id int 自动增长 , Title varchar(20) , Content varchar(200) , Author varchar(10) makeFile.jsp <...
随着WEB技术的发展,WEB内容从一些静态的页到内容丰富的动态页。对于广大WEB开发人员来讲动态页面的生成是一个挑战。有许多的方法来试图解决这个问题,如plug-in技术及基于服务器端的APIs等方法,但存在的一个问题是...
弊端: 1、此方法只适用于动态页面,如:asp\jsp\php等…静态页面无法判断某个IP一定时间访问本站页面的次数。 2、此方法会严重影响搜索引擎蜘蛛对其收录,因为搜索引擎蜘蛛收录时,浏览速度都会比较快而且是多...
智联虽然用的是asp,但他采用了另一种更巧妙的技术–asp生成静态页技术。所有的动态页基本上都转换成了html静态页,不用访问数据库,当然反应快了。下面我们讨论一下jsp怎么转换成html??首先要做一个模板。后缀不限,...
单击此处添加标题 * * * * PHP表单处理(GET) 静态网页与动态网页 动态页面基本概念 动态页面是以ASP、ASPX、PHP、JSP等,由相应的脚本引擎来解释执行,根据指令生成静态网页。 动态页面上的内容存在于数据库中,...
JSP动态网站开发基础教程与实验指导(从基础到应用)光盘 作者:王晓军 田中雨 刘跃军 等 全书共分12章,介绍了,JSP开发环境配置,页面组成元素,内置对象,访问数据库技术,JavaBean,Servlet技术,以及开发JSP...
1.可针对任何静态网页,动态网页进行采集。包括htm,html,shtml,ASP,ASPX,JSP,PHP等。 2.增加自定采集规则.用户可自定设置采集目标与规则.按规则保存到所需. 3.采集支持Utf-8和gbig5编码并能转换繁体为简体. 4.支持...
本资源摘要信息涵盖了JSP应用开发的基础知识,包括静态网页和动态网页的概念、Web服务器和网络数据库的概述、JSP和ASP.NET的比较、C/S结构与B/S结构的比较等。 一、静态网页和动态网页 * 静态网页:指网页的内容是...
JSP将Java代码和特定变动内容嵌入到静态的页面中,实现以静态页面为模板,动态生成其中的部分内容。JSP引入了被称为“JSP动作”的XML标签,用来调用内建功能。另外,可以创建JSP标签库,然后像使用标准HTML或XML标签...
jsp 书后习题答案 第一章 版本 慕课版 部分内容 1-1 JSP的全称是什么?JSP有什么优点?JSP与ASP、PHP的相同点是什么? JSP的全称是Java Server Pages。...共同点:可以在页面中加入脚本代码来生成动态内容。
借助Dreamweaver MX,可以使用多种服务器语言,例如ASP、ASENET、ColdFusion 标记语言(CFML) JSP 和PHP 生成支持动态数据库的Web 应用程序。Dreamweaver MX 可谓是开发静态、动态网站的利器,也是开发Web 应用程序的...
慕课版 1-1 JSP的全称是什么?JSP有什么优点?JSP与ASP、PHP的相同点是什么? JSP的全称是Java Server Pages。 优点:跨平台、分离静态内容和动态内容、可重复使用...共同点:可以在页面中加入脚本代码来生成动态内容。
Java Web 应用开发的基础知识,涵盖软件常用体系结构、静态网页和动态网页、Web 应用和 Web 应用技术、动态网页技术、JSP 的常用开发模式、Java Web 应用的运行环境、JDK 和 Tomcat 的下载、安装和配置等。...
动态网页是用标准html代码和动态语言(如:asp,jsp,php,asp.net等)编写的。 关于静态动态网页的概念请参照P1.(P1=第1页,下同) 服务器端:在万维网中提供网页服务的一端称为服务器端。 客户端:接受服务的一端...
动态网页是用标准html代码和动态语言(如:asp,jsp,php,asp.net等)编写的。 关于静态动态网页的概念请参照P1.(P1=第1页,下同) 服务器端:在万维网中提供网页服务的一端称为服务器端。 客户端:接受服务的一端...
脚本语言:ASP(*改为ASP解释JSP) 系统需求: 操作系统 Windows 2000 Adv Server,Windows 2000 Server 脚本解释器 Vbscripts5.6以上版本,安装Microsoft Internet Explorer5.5以上版本既可获得 Web服务器 ...
2. 动态网站开发技术:目前最流行的动态网站开发技术有ASP、JSP和PHP三种,它们都是在现有的Web服务器中嵌入了一种编程语言来实现动态网站平台,可以与标准的HTML网页很好地集成。 3. ASP技术:ASP(Active Server ...
4. JSP:JSP(Java Server Page)是一种实现普通静态HTML和动态页面输出混合编码的技术。从这一点来看,非常类似Microsoft ASP、PHP等技术。 5. Web配置文件:Web配置文件中可以配置Servlet的名称、类名、映射的URL ...
1、将业务层与表示层分离:使用JSP技术,网络开发人员可充分使用HTML来设计页面显示部分(如字体颜色等),并使用JSP指令或者JAVA程序片段来生成网页上的动态内容; 2、能够跨平台:JSP支持绝大部分平台,包括现在...