在网站应用中,为了提高页面的访问速度,经常需要将动态页面静态化以提高页面的访问速度,因为动态页面一般要从数据库检索信息,频繁访问动态页面会大大提高数据库的负载,并且访问速度也比静态页面慢.本文通过在程序里建立一个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.NET或PHP等,根据用户请求实时生成内容。它们能够提供交互性和个性化信息,但可能因为需要数据库查询和服务器计算而增加服务器负载。 静态页面则是预先生成的HTML文件...
总的来说,通过URL生成静态页面是提高网站性能的重要手段,它结合了动态网站的灵活性和静态网站的速度优势。在实际应用中,需要根据项目需求选择合适的实现策略,并注意平衡性能、更新、安全等因素。
在描述中提到的“通过ajax来获取由动态页面生成静态页面后的的输出流”,这是指动态服务器端页面(如PHP、JSP、ASP.NET等)在接收到请求后,先生成HTML内容,然后返回这个HTML内容的输出流,而不是直接返回动态处理...
动态页面是基于服务器端脚本(如PHP、JSP、ASP.NET等)生成的,每次请求都会根据用户的数据和环境生成新的内容。而静态页面则是预先生成的HTML文件,内容固定,不随每次请求变化。对于访问量大且内容相对稳定的网站...
ASP.NET 伪静态页面的实现主要是为了优化搜索引擎优化(SEO)和提高用户体验。...在某些情况下,直接生成静态页面可能是更好的选择,尤其是对于内容不经常变化的部分,静态页面能提供更快的加载速度。
本文将详细介绍动态网站静态化的基本原理、实现方式以及在实际应用中的优势。 #### 一、什么是动态网站静态化? 动态网站是指能够根据用户的请求动态生成网页内容的网站。这类网站通常基于服务器端脚本语言(如PHP...
动态网页生成静态(Dynamic Web Page to Static)是一种优化网站性能的技术,主要目的是将原本需要服务器实时解析执行的动态页面转化为预先生成的静态HTML文件。这样做的好处包括提高页面加载速度,减轻服务器负担,...
在探讨如何生成静态页面之前,我们首先需要理解静态页面与动态页面的基本概念。静态页面,顾名思义,是指页面内容在服务器上是固定的,不随用户操作或时间变化而改变,一般由HTML、CSS和JavaScript等静态资源构成。...
动态页面通常基于PHP、JSP、ASP等技术,而静态页面则是HTML、CSS和JavaScript的组合。Java程序可以解析动态内容模板,用实际数据填充后生成HTML文件。这个过程称为“静态化”。 4. **源码分析**: "MakeHtml" ...
动态页面的实现主要依赖于CGI、ASP/ASP.NET、JSP和PHP等技术。CGI是一种通用的接口,允许使用各种编程语言编写服务器端程序来处理请求。ASP.NET是微软提供的服务器端脚本环境,用于构建动态网站。JSP(Java Server ...
2. ASP.NET:微软的ASP.NET框架提供了多种语言支持(如C#、VB.NET),结合.NET Framework,可以方便地实现动态页面生成。 3. JSP:JavaServer Pages(JSP)是Java平台上的动态网页技术,它允许开发者在HTML模板中...
数据库是动态内容的存储库,当需要生成静态页面时,服务器会从数据库中查询相应的内容。在ASP.NET环境中,通常使用ADO.NET或Entity Framework等库来执行SQL查询,获取新闻标题、内容等数据。获取数据后,将其插入到...
动态页面通常需要服务器端脚本(如JSP、ASP.NET等)来处理请求并生成内容,而静态页面则是一个已经预先生成好的HTML文件,可以直接由Web服务器发送给客户端,减少了服务器处理和数据库查询的负担。 在上述描述中,...
5. 性能优化:考虑到动态生成静态页面可能会增加服务器负担,这个程序可能还包含了缓存机制,如文件缓存或内存缓存,以减少不必要的数据库查询。 6. SEO优化:除了速度提升,伪静态还能帮助搜索引擎更好地理解和...
1.1 动态网页与静态网页的区别:动态网页是基于服务器端脚本(如PHP、ASP.NET、JSP等)生成的,每次请求都会执行数据库查询和其他处理逻辑;而静态网页则是预先生成好的HTML文件,服务器直接返回给客户端。 1.2 ...
静态页面是由HTML、CSS和JavaScript等静态文件组成的,内容在服务器端创建后直接发送到客户端,而动态页面则是在用户请求时由服务器端的脚本(如PHP、ASP、JSP等)生成。标题提到的“通用首页静态化工具”是一个专门...
4. **可扩展性**:尽管是静态,但可以通过动态生成技术实现灵活扩展,保持网站的活力。 【总结】 "网博士ASP全静态企业网站管理系统.zip"是一个使用ASP技术开发的,旨在为企业提供高效、安全、易用的网站管理解决...
静态页面是指不依赖服务器端脚本(如PHP、ASP.NET或JSP)动态生成的HTML文件,它们在用户请求之前就已经存在于服务器上,因此加载速度更快,对服务器资源消耗更少。本话题将深入探讨如何将文件“world”和“记事本”...
- 动态网页:基于服务器端脚本语言(如PHP、ASP.NET、JSP等)实时生成,每次请求都需要执行数据库查询和服务器端逻辑。 - 静态网页:HTML、CSS和JavaScript组成的文件,直接由浏览器解析,无需服务器处理。 2. **...
在动态网站中,每个请求都需要服务器执行PHP、JSP、ASP.NET等脚本语言,这可能导致服务器负载增加,响应时间延长。而静态页面则可以直接由Web服务器提供,无需额外处理,因此速度更快。 在"我们公司项目中页面静态...