文档库 最新最全的文档下载
当前位置:文档库 › JSP生成静态页面

JSP生成静态页面

JSP生成静态页面
JSP生成静态页面

jsp生成静态页面

转自:https://www.wendangku.net/doc/4d7269344.html,/space/?233

生成静态页面技术解决方案系列(一)

2006-10-26

相信很多人都希望自己的页面越快越好,最好是能静态的,提高客户访问速度。也便于搜索引擎搜索。所以,就希望我们的动态读取数据库的页面,尽可能的生成静态页面。一下系列文章,介绍一下个人的解决方案。

本系列将介绍个人的一种方法,在不改变原来jsp 文件的基础上,只需

要加入少量的代码,就让你的新闻发布系统,很容易就完全变成静态的页面。

本文假设你是用java开发的web动态页面。

第一步,加入servlet.代码如下。

public class ToHtml extends HttpServlet {

public void service(HttpServletRequest request, HttpServletResponse response)

throws ServletException, IOException {

String url = "";

String name = "";

ServletContext sc = getServletContext();

String file_name = request.getParameter("file_name");// 你要访问的jsp 文件名,如index,不包括扩展名

// 则你访问这个servlet时加参数.如

http://localhost/test/toHtml?file_name=index

url = "/" + file_name + ".jsf";// 你要生成的页面的文件名。我的扩展名为jsf .

name = ConfConstants.CONTEXT_PATH+"\\"+ file_name + ".htm";// 这是生成的html文件名,如index.htm.文件名字与源文件名相同。扩展名为htm

//ConfConstants.CONTEXT_PATH为你的应用的上下文路径。

RequestDispatcher rd = sc.getRequestDispatcher(url);

final ByteArrayOutputStream ōs = 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 ōut = response.getWriter();

out

.print("

页面已经成功生成!single
https://www.wendangku.net/doc/4d7269344.html,/space/? 233

");

}

}

第二步、配置你的web.xml

toHtml

mj.util.html.ToHtml//你的servlet的类。

toHtml

/toHtml

第三步、运行servlet。如:

http://localhost:8080/test/toHtml?file_name=index

OK,这就在你的test项目的根目录下,生成了一个index.htm的静态文件。

局限性:本文只能生成一个文件!访问一次,生成一个文件。并且生成的文件名也与原来的文件名相同。

比较适合主页生成静态页面。

本系列的后续文章将解决更多的问题。使之在新闻发布系统中,很容易就集成应用。

*

生成静态页面技术解决方案系列(二)

2006-10-28

注意:转贴本文,请加上本文链接

https://www.wendangku.net/doc/4d7269344.html,/space/?233/action_viewspace_itemid_21.html

在上一篇文章中,生成静态页面,是有一定的局限性的。生成主页是很方便,但要生成二级页面,就不方便了。

本文假设一个新闻发布系统。希望后台发布的,前台显示的是静态的文档。这就涉及,主页要是静态的,同时二级列表也是静态的,新闻内容也是静态的。也就是说,在发布一篇新闻的时候,可能涉及到三个地方生成静态文档。并且,要生成一个网页,必须访问一个servlet。在大量生成静态网页的时候,

以下方法,可以解决这些问题。

一、加入一下servelet

/**

* @file_name 文件名及文件之后的参数.最好为

a.jsf?fileId=aaaa

* @path 文件所在的路径.相对于根目录而言的.

* @realName文件要保存的名字

* @realPath文件要保存的真实路径。默认与文件所在的目录相同。 */

public class ToHtmlPath extends HttpServlet {

public void service(HttpServletRequest request, HttpServletResponse response)

throws ServletException, IOException {

String url = "";

String name = "";

ServletContext sc = getServletContext();

String file_name = request.getParameter("file_name");// 你要访问的jsp 文件,如news.jsf。

// file_name如:fileDetail.jsf?fileId=56.要是有参数,只有一个参数。并且以参数名作为文件名。

String realName = request.getParameter("realName");// 要保存的文件名。如aaa;注意可以没有这个参数。

String path = request.getParameter("path");// 你要访问的jsp 文件路径。如news。注意可以没有这个参数。

String realPath = request.getParameter("realPath");// 你要保存的文件路径,如htmlNews.注意可以没有这个参数。

// 下面确定要保存的文件名字。

if (realName == null || realName == "") {

int a = 0;

a = file_name.indexOf("=") + 1;

realName = file_name.substring(a);

if (realName.indexOf(".")>0) {

realName = file_name.substring(0,

file_name.indexOf("."));

}

}

// 下面构造要访问的页面。

if (path == null || path == "") {

url = "/" + file_name;// 这是你要生成HTML的jsp 文件,如

} else {

url = "/" + path + "/" + file_name;// 这是你要生成HTML

的jsp 文件,如

}

// 下面构造要保存的文件名,及路径。

// 1、如果有realPath,则保存在realPath下。

// 2、如果有path则保存在path下。

// 3、否则,保存在根目录下。

if (realPath == null || realPath == "") {

if (path == null || path == "") {

name = ConfConstants.CONTEXT_PATH + "\\" + realName + ".htm";// 这是生成的html文件名,如index.htm.说明:

ConfConstants.CONTEXT_PATH为你的上下文路径。

} else {

name = ConfConstants.CONTEXT_PATH + "\\" + path + "\\" + realName + ".htm";// 这是生成的html文件名,如

index.htm.

}

} else {

name = ConfConstants.CONTEXT_PATH + "\\" + realPath + "\\" + realName + ".htm";// 这是生成的html文件名,如

index.htm.

}

// 访问请求的页面,并生成指定的文件。

RequestDispatcher rd = sc.getRequestDispatcher(url);

final ByteArrayOutputStream ōs = 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 ōut = response.getWriter();

out.print("

success!

");

}

}

二、在web.xml里面配置你的servlet

toHtmlPath

mj.util.html.ToHtmlPath

toHtmlPath

/toHtmlPath

三、写一个通用的方法,供调用。

public class CallHtml {

public static void callOnePage(String fileName, String path, String realName, String realPath) {

try {

String str =

"http://localhost:8080/test/toHtmlPath?file_name="

+ fileName + "&&path=" + path + "&&realName=" + realName + "&&realPath=" + realPath;

int httpResult;

URL url = new URL(str);

URLConnection connection = url.openConnection();

connection.connect();

HttpURLConnection httpURLConnection = (HttpURLConnection) connection;

httpResult = httpURLConnection.getResponseCode();

if (httpResult != HttpURLConnection.HTTP_OK) {

System.out.println("没有连接成功");

} else {

System.out.println("连接成功了");

}

} catch (Exception e) {

// TODO: handle exception

}

}

//这个方法适当重载,就可以省去一些参数传递。

}

四、在你的新闻发布save时,调用方法。

1、CallHtml.callOnePage("info.jsf?file_id=aaa",news,"", "");//将在news目录下生成一个aaa.htm的静态文件

2、CallHtml.callOnePage("newsList.jsf",news,"", "");//将在news目录下生成一个newsList.htm的静态文件,显示最新的新闻。

3、CallHtml.callOnePage("index.jsf","","", "");//生成主页。

好了,这就保持了,主页、列表、新闻内容都是最新的静态页面了。

如何将PHP动态网站转换成真正的静态网页

如何将PHP网页转化为纯静态网页 适用范围: 1.网站的页面或部分页面片段不需要频繁刷新动态数据的 2.极度依赖SEO的企业官网、推广页面等 技术要点: 1.PHP动态生成页面 2.PHP读取生成的页面内容 3.PHP将读取的页面内容存储为纯静态文件(如:.html) 4.对外部请求直接使用静态文件路径 优点: 1.利于SEO优化 2.降低服务器资源损耗 3.提高浏览器响应速度 代码程序: 1.动态页面原网页:http:localhost/Index.php PHP动态原页面 '):($i.' '); } ?> 2.PHP(changeToHtml.php)将含有PHP代码的http:localhost/Index.php页面转化/更新为index.html

网站生成静态面的几种策略精编

网站生成静态面的几种 策略精编 Document number:WTT-LKK-GBB-08921-EIGG-22986

[转]网站生成静态页面的几种策略 2008-02-02 11:13 网站生成静态页面,及网站数据采集的攻、防原理和策略 目前很多人都开始注重动态页面生成HTML页了,但选择哪种生成HTML的方法和防采集却不防搜索引擎的问题却经常困扰大家。解决此问题则是本文产生的原因。 首先祥细说一下常用的几种生成HTML的方法: 生成HTML方法主要步骤只有两个: 一、获取要生成的html文件的内容 二、将获取的html文件内容保存为html文件 我在这里主要说明的只是第一步:如何获取要生成的html 文件的内容: 目前常用获取html文件的内容的方法有几下几种: 1、 str="内容" str=str&"内容数据库读取内容........." 这种方法与是在脚本内写要生成的html内容,不太方便预览生成页面的内容,无法可视化布局页面,更改html模板时会更加复杂。 用这种方法的人很多,但我感觉这种方法是最不方便的。

2、 制作单独的HTML模板页,动态的内容用特定的字符作为标记(如:有人用$title$标记为网页标题),用或者将其模板内容载入,然后再用替换方法把原先定好的标记替换为动态内容(如:Replace(载入的模板内 容,"$title$",rs("title" ) ) )。 3、 用XMLHTTP或serverXMLHTTP获取动态页所显示的HTML内容, 我常用的生成html文件的实例: 'weburl是要获取的动态页地址 'getHTTPPage(weburl)是获取动态页内容的函数 weburl="")&""‘指定动态页地址 body=getHTTPPage(weburl)'用函数取到动态页地址的内容 此方法最大的好处就是不用费力气专门去写静态的模板页面,只是将原来就有的动态页面转换为HTML静态页面,但生成速度不是太快。 我常用的生成HTML的方法就是第3种:用XMLHTTP获取动态页生成的HTML内容,再用或者保存成html文件。 第二步是生成文件的方法: ASP里常用的有用生成文件和生成文件两种 1、

PHP生成静态页面--实例

看到很多朋友在各个地方发帖问PHP生成静态文章系统的方法,以前曾做过这样一个系统,遂谈些看法,以供各位参考。好了,我们先回顾一些基本的概念。 一,PHP脚本与动态页面。 PHP脚本是一种服务器端脚本程序,可通过嵌入等方法与HTML文件混合,也可以类,函数封装等形式,以模板的方式对用户请求进行处理。无论以何种方式,它的基本原理是这样的。由客户端提出请求,请求某一页面----->WEB服务器引入指定相应脚本进行处理----->脚本被载入服务器----->由服务器指定的PHP解析器对脚本进行解析形成HTML 语言形式---->将解析后的HTML语句以包的方式传回给浏览器。由此不难看出,在页面发送到浏览器后,PHP就不存在了,已被转化解析为HTML语句。客户请求为一动态文件,事实上并没有真正的文件存在在那里,是PHP解析而成相对应的页面,然后发送回浏览器。这种页面处理方式被称为“动态页面”。 二,静态页面。 静态页面是指在服务器端确实存在的仅含HTML以及JS,CSS等客户端运行脚本的页面。它的处理方式是。由客户端提出请求,请求某一页面---->WEB服务器确认并载入某一页面---->WEB服务器将该页面以包的形式传递回浏览器。由这一过程,我们对比一下动态页面,即可方现。动态页面需由WEB服务器的PHP解析器进行解析,而且通常还需连接数据库,进行数据库存取操作,然后才能形成HTML语言信息包;而静态页面,无须解析,无须连接数据库,直接发送,可大大减轻服务器压力,提高服务器负载能力,大幅提供页面打开速度和网站整体打开速度。但其缺点是,不能动态地对请求进行处理,服务器上必须确实存在该文件。 三,模板及模板解析。 模板即尚未填充内容html文件。例如: temp.html { title} this is a { file} file's templets PHP处理: templetest.php

教你制作静态网页的方法

教您制作静态网页的方法 一、网页设计基础 1、熟悉Dreamweaver 8的工作环境 2、创建新站点 创建本地站点:站点----管理站点----新建----站点(前三步也可直接从“新建站点”进入下面的设置向导对话框)----跟随向导设置直至完成 3、网页文件的基本操作 a、创建、打开与保存网页文件 创建:文件----新建----创建 打开:文件---打开----选择欲打开的文件 或者在右边的文件浮动面版中选择打开 保存:文件---保存或另存为 b、设置网页的页面属性 修改---页面属性---然后设置(标题、背景、背景图像、文本等) c、设置网页对象的颜色 网页对象,如页面背景、文字、链接都经常需要设置颜色。 可在各自对应的属性面版中设置。 d、网页文本的输入与属性设置 文本可键入、导入、粘帖 文字可设置字体、大小、颜色、格式等。 键入空格的方法:1、汉字输入法设置为全角方式,按空格键即可输入。2、属性面版格式中:预先格式化的 换行:ENTER、SHIFT+ENTER 实例练习: 1、输入以下文字 书签夹在诗集里, 落叶夹在深秋里。 喜悦夹在生活里, 追求夹在人生里。 2、第一次设置格式为“无”,字体为“华文行楷”,字体颜色为“红色”,字号为“5号”,添加项目符号。然后保存、预览。 3、第二次设置格式为“标题一”,字体为“楷体”,字体颜色为“蓝色”,字号为“5号”,添加项目符号,对齐方式为“居中”。然后保存、预览。 比较两次设置的效果。 e、网页图片的插入与属性设置 插入图片,在对话框中选择图片。(最好在建立站点时将欲用的图片素材复制到本地站点目录中) 插入图像占位符,在图片准备好后再加入图片。加入方法:1、双击图像占位符;2、点“属性面版”中的“指向文件”,拖到右边文件中要插入的文件处。

网站html静态化解决方案

网站html静态化解决方案 篇一:关于网页是否要静态化HTML的问题 关于网页是否要静态化HTML的问题 很多人提倡在网站设计时将页面静态化,难道页面静态化就没有什么缺点吗?有人问关于网页静态化的问题:很多人提倡在网站设计时将页面静态化,难道页面静态化就没有什么缺点吗?专家回答如下: 虽然页面静态化在一定程度上提高了页面访问速度和有利于搜索引擎优化以外,其实静态化带来的问题和后续成本也是不容忽视的:1、由于生成的文件数量较多,存储需要考虑文件、文件夹的数量问题和磁盘空间容量的问题,导致需要大量的服务器设备;2、程序将频繁地读写站点中较大区域内容,导致硬件损耗大、站点备份麻烦;3、页面维护的复杂性和大工作量,增加了更新维护难度和网站管理人员工作强度。 楼上说的有道理,不是每个网站都耗得起这个成本,如果你们公司的开发人员实力和时间都允许,那么可以实施你们的网站静态化,否则不提倡。 页面静态化有利用于蜘蛛的抓取,可以增加网页的权重. 楼上的楼上,不用担心,网页的静态化不会增加多少磁

盘容量,一个网页也就是几十K,现在硬盘很便宜.页面的维护不会有问题,网站后台还是采用动态的数据库管理,前台显示页面,可以生成静态的html 篇二:WEB网站架构分析HTML静态化 HTML静态化 1 介绍 其实大家都知道,效率最高、消耗最小的就是纯静态化的html页面,所以我们尽可能使我们的网站上的页面采用静态页面来实现,这个最简单的方法其实也是最有效的方法。但是对于大量内容并且频繁更新的网站,我们无法全部手动去挨个实现,于是出现了我们常见的信息发布系统CMS,像我们常访问的各个门户站点的新闻频道,甚至他们的其他频道,都是通过信息发布系统来管理和实现的,信息发布系统可以实现最简单的信息录入自动生成静态页面,还能具备频道管理、权限管理、自动抓取等功能,对于一个大型网站来说,拥有一套高效、可管理的CMS是必不可少的。 除了门户和信息发布类型的网站,对于交互性要求很高的社区类型网站来说,尽可能的静态化也是提高性能的必要手段,将社区内的帖子、文章进行实时的静态化,有更新的时候再重新静态化也是大量使用的策略,像Mop的大杂烩

静态化技术文档

2010-01-26 09:59 首先说说为什么要静态化。 对于现在的Web Application来说,动态页面是占有绝对高的地位的,正因为有了动态化,才有了现在Web的丰富多彩,但是如同所有别的事实一样,好处往往都是有代价的。 为了产生出动态的效果,每一次对页面的请求都会要求服务器对页面进行编译或者执行,这些操作都很消耗系统资源。如果这期间还有和数据库的通讯,那么代价将会更大。 如果一个页面在一定的时间内,其内容没有发生改变,那么就不必为每一次对它的访问进行一次“新”的编译或执行。我们可以把它在这段没有发生改变的时间内的结果保存到一个静态的页面里面,然后每次访问这个页面时,就用刚才保存的静态页面进行回复。这样便能大大地减少系统资源的消耗,并且提高对客户的响应速度。而这个过程就称之为页面静态化。 现在所面临的问题就是如何在JSP中将页面的内容保存下来。 在访问JSP页面的时候,服务器会先将JSP文件编译为Servlet文件,然后对这个Servlet编译、执行,并最终把结果返回给客户端。而我们的任务就是要把这个最终生成的HTML静态页面保留下来,存放在服务器上。 解决的方法其实很简单。普通的对于JSP的访问,最终的数据流是回写到客户端的,如果我们把它重定向,让它回写到服务器上一个本地的文件,这样就能把JSP的执行结果保存起来,而这个文件就是我们想要得到的静态化的结果。 好了,说了那么多废话,现在说说具体怎么实现。 看过将JSP编译成的Servlet文件以后,可以知道这个Servlet是通过一个"JspWriter"类型的对象将数据回写给客户端的,而这个对象正是JSP里面的内置对象"out",现在我们只需要定义一个自己的类,让它继承"JspWriter"类,覆盖里面的输出相关函数,让数据都输出到一个指定的文件就可以了。 例如(省略了部分重载函数): 程序代码 import java.io.*; import javax.servlet.jsp.*; public class ConstPageWriter extends JspWriter { private PrintWriter pw; public ConstPageWriter(String fileName){ super(JspWriter.DEFAULT_BUFFER, false); try{ pw = new PrintWriter(fileName, "UTF-8"); }catch(Exception e){ e.printStackTrace(); } } @Override public void print(String arg0) throws IOException { pw.print(arg0);

ASP生成静态网页技术的实现-最新文档

ASP生成静态网页技术的实现 当今大型网站页面都改用了静态的页面,这是因为静态页面可以提高浏览速度,减轻服务器的负担,方便搜索引擎收录,网站更安全,静态页面从理论上讲是没有攻击漏洞的,基于以上的好处所以现在知名、主流的大站基本上都静下来了。 ASP(Active Server Pages)是 Web 的服务器端脚本编写环境,也是绝大多数从事网站开发人员很熟悉的编程环境。如何用asp生成静态网页一般有两种方法:1使用FSO生成,2使用XMLHTTP生成。下面将综合这两种方法来实现静态页的生成。 1 ASP生成静态页的方法 我们用标签替换的方法生成静态网页,做一个模版页 mb.asp,生成静态页的时候直接把需要变化的部分的标签替换掉就行了。此例中我们把模板页mb.asp设置两个标签%title%和%content%。模板页可以是静态页也可以是动态页,但出于实际应用的方便我们用动态页做为模板页。静态网页执行页面为do.asp里面是具体生成静态页的代码。 2 程序中用到相关技术的方法和属性 1) Request.ServerVariables Request.ServerVariables("Server_Name")服务器的主机名、DNS地址或IP地址 Request.ServerVariables("Server_Port")接受请求的

服务器端口号 Request.ServerVariables("Path_Info")客户端提供的路径信息 2) ADODB.Stream对象 mode 读写模式,可选值:1-读,2-写,3-读写 type 数据类型,可选值:1-二进制,2-文本 charset 编码方式,可选值:utf-8,gb2312 position 数据流位置,表示数据操作从这里开始,第一个位置的值为 0,不是 1。 size 数据流大小(字节) LoadFromFile 从文件读取数据到 Stream 对象,Stream 对象原有内容将被清空 SaveToFile 将 Stream 对象数据保存为文件,第二个参数:1-不允许覆盖,2-覆盖写入 Open 打开数据流 Close 关闭数据流 Read([长度])从 Stream 对象中读取二进制数据,不指定长度表示全部读取 ReadText([长度])从 Stream 对象中读取文本数据,不指定长度表示全部读取 Write(buffer)将缓存数据写入 Stream 对象 WriteText(data, [option])将文本数据写入 Stream 对

静态网页制作心得体会

静态网页制作心得体会 姓名:张继宏第三组8.18 20世纪40年代科学字发明了计算机之后,人们的工作效率大大提高,但是单个计算机能够存储和处理的信息是非常有限的,为了便于信息的传递和处理,人们就把众多的计算机连接起来。 网页制作的心得体会----网页制作论文摘要通过这次个人网页的制作,我对计算机有了更深层次得到了解,也有了更浓厚的兴趣。尤其是对网页制作的过程与一些技巧手法更有了另外一番了解,对网页制作的基础知识也有了一定的掌握。通过把自己的网页上传到互联网上,对文件的保存、上传、下载以及修改等知识有了更牢靠的掌握。通过自己的努力完成了自己上传到网上的第一个作品,那种成就感是无法用语言形容的。所以我觉得这次制作网页我已经达到了自己的目的,而不是单单为了完成作业而已。这是一个完全关于自己的个人网页,既然是介绍自己,就应该让观者在浏览了之后了解自己其人,我觉得这点我已经基本上做到了。 关键字页面设计ASP和数据库 1.一般来说,个人主页的选材要小而精。如果你想制作一个包罗万象的站点,把所有您认为精彩的东西都放在上面,那么往往会事与愿违,给人的感觉是没有主题,没有特色,样样有却样样都很肤浅,因为您不可能有那么多的精力去维护它。注意:网页的最大特点就是更新快。目前最受欢迎的个人主页都是天天更新甚至几小时更新一次。 2.题材最好是你自己擅长或者喜爱的内容。比如:您对诗歌感兴趣,可以放置自己的诗词;对足球感兴趣,可以报道最新的球场战况等等。这样在制作时,才不会觉得无聊或者力不从心。 3.不要太滥或者目标太高。“太滥”是指到处可见,人人都有的题材;“目标太高”是指在这一题材上已经有非常优秀,知名度很高的站点,你要超过它是很困难的。选定了一个好的题材,是不是可以立刻动手制作了?不,经验告诉我们,必须要先规划框架。这是很重要的一步!每个网站都是一项庞大的工程。好比造高楼,没有设计图纸,规划好结构,盲目的建造,结果往往是倒塌;也好比写文章,构思好提纲,才不至于逻辑混乱,虎头蛇尾。全面仔细规划架构好自己网站,不要急于求成。 规划一个网站,可以用树状结构先把每个页面的内容大纲列出来,尤其当你要制作一个很大的网站(有很多页面) 的时候,特别需要把这个架构规划好,也要考虑到以后可能的扩充性,免得做好以后又要一改再改整个网站的架构,十分累人,也十分费钱。 大纲列出来后,你还必须考虑每个页面之间的链接关系。是星形,树形,或是网形链接。这也是判别一个网站优劣的重要标志。链接混乱,层次不清的站点会造成浏览困难,影响内容的发挥。 为了提高浏览效率,方便资料的寻找,本站的框架基本采用“蒲公英”式,即所有的主要链接都在首页上,链接的层次不多,深度浅。 框架定下来了,然后开始一步一步有条理,有次序地做来,就胸有成竹得多,也为你的主页将来发展打下良好的基础。

JSP生成静态页面

jsp生成静态页面 转自:https://www.wendangku.net/doc/4d7269344.html,/space/?233 生成静态页面技术解决方案系列(一) 2006-10-26 相信很多人都希望自己的页面越快越好,最好是能静态的,提高客户访问速度。也便于搜索引擎搜索。所以,就希望我们的动态读取数据库的页面,尽可能的生成静态页面。一下系列文章,介绍一下个人的解决方案。 本系列将介绍个人的一种方法,在不改变原来jsp 文件的基础上,只需 要加入少量的代码,就让你的新闻发布系统,很容易就完全变成静态的页面。 本文假设你是用java开发的web动态页面。 第一步,加入servlet.代码如下。 public class ToHtml extends HttpServlet { public void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String url = ""; String name = ""; ServletContext sc = getServletContext(); String file_name = request.getParameter("file_name");// 你要访问的jsp 文件名,如index,不包括扩展名 // 则你访问这个servlet时加参数.如 http://localhost/test/toHtml?file_name=index url = "/" + file_name + ".jsf";// 你要生成的页面的文件名。我的扩展名为jsf . name = ConfConstants.CONTEXT_PATH+"\\"+ file_name + ".htm";// 这是生成的html文件名,如index.htm.文件名字与源文件名相同。扩展名为htm //ConfConstants.CONTEXT_PATH为你的应用的上下文路径。

wordpress 全站生成静态html页面插件

wordpress 全站生成静态html页面插件 wordpress 全站生成静态html页面插件 只要被浏览页面就会自动生成一个html页面 文件名可以自己设,网上找的,分享下, 说明: **** 概述**** cos-html-cache 将会大大地提高你wordpress的运行效率和载入速度。该插件会在页面第一次载入的时候产生和url对应的真正的html文件作为缓存,后面的运行将会直接载入该html从而大大的提高了页面的效率。当页面内容发生变化时将会自动更新对应的页面,更新缓存的触发事件有:修改文章、删除文章、评论成功提交,同时这些事件也将会更新与之相邻的文章。 cos-html-cache2.0和之前的版本相比大大的提高了速度,改进了缓存的机制,使之更加科学 **** 安装**** 1. 下载插件,解压缩,你将会看到一个文件夹cos-html-cache,请确认文件夹里面没有二级目录,然后将其放置到插件目录下,插件目录通常是 `wp-content/plugins/`; 2. 在后台对应的插件管理页激活该插件; 3 在网站的根目录下创建一个文件 "index.bak",并将属性设置成0666 4 安装完成; **** 卸载插件 **** 1. 进入后台 admin->设置->cos-html-cache; 2. 点击按钮删除所有的html缓存文件(请一定要删除);

3. 删除首页根目录下的index.html(如果存在); 4. 进入插件管理界面,禁用该插件; 5. 卸载完成,若还有相关的html文件,请手动删除之。 **** FAQ **** 1. 我后缀名是.htm不是.html的可以用么? 后缀名是html或者html均可,其他方式不可以 2. 如果我的永久连接是目录形式的可以用么? 不可以,插件将会在目录下生成index.html文件。 3. 缓存的静态HTML文件在哪里? 放在你URL链接对应的地方,比如你页面的地址是https://www.wendangku.net/doc/4d7269344.html,/dir1/dir2/2.ht ml那么静态文件就在 dir1/dir2 目录下 4. 为什么后台没有批量更新了? 请看最前面的说明,2.0的机制发生变化,已经不需要这个功能了! 5. 如果我的永久连接不合理怎么办?放心修改就是,不用担心链接失效问题,我自己都修改过几次。 6. 静态化后不支持pingback,如何处理? 在你的模板文件夹下的header.php文件中,加上这样的pingback meta:” />,加在css调用之前,当调用静态文件的时候,htaccess和这个meta会帮你处理ping back的! 7. 如何确定静态化成功? FTP查看有没有html文件生成,或者看看当前页面的源代码的最后面是否有这样的代码: 8. 生成了index.html为什么访问的还是index.php 服务器配置文件访问优先级的问题,本插件无能为力,请修改服务器配置,如果你的服务器支持自定义htaccess,请在htaccess中增加DirectoryIndex index.html index.htm in dex.php index.cgi。 9. 无法生成cache,如何处理? 页无法生成是因为你的网站根目录不让写入文件,你可以自行建立index.html,设置属性为

教你制作静态网页的方法

教你制作静态网页的方法 一、网页设计基础 1、熟悉Dreamweaver 8的工作环境 2、创建新站点 创建本地站点:站点----管理站点----新建----站点(前三步也可直接从“新建站点”进入下面的设置向导对话框)----跟随向导设置直至完成 3、网页文件的基本操作 a、创建、打开和保存网页文件 创建:文件----新建----创建 打开:文件---打开----选择欲打开的文件 或者在右边的文件浮动面版中选择打开 保存:文件---保存或另存为 b. 设置网页的页面属性 修改---页面属性---然后设置(标题、背景、背景图像、文本等) c. 设置网页对象的颜色 网页对象,如页面背景、文字、链接都经常需要设置颜色。 可在各自对应的属性面版中设置。 d. 网页文本的输入和属性设置 文本可键入、导入、粘帖 文字可设置字体、大小、颜色、格式等。 键入空格的方法:1、汉字输入法设置为全角方式,按空格键即可输入。2、属性面版格式中:预先格式化的 换行:ENTER、SHIFT+ENTER 实例练习: 1、输入以下文字 书签夹在诗集里, 落叶夹在深秋里。 喜悦夹在生活里, 追求夹在人生里。 2、第一次设置格式为“无”,字体为“华文行楷”,字体颜色为“红色”,字号为“5号”,添加项目符号。然后保存、预览。 3、第二次设置格式为“标题一”,字体为“楷体”,字体颜色为“蓝色”,字号为“5号”,添加项

目符号,对齐方式为“居中”。然后保存、预览。 比较两次设置的效果。 e. 网页图片的插入和属性设置 插入图片,在对话框中选择图片。(最好在建立站点时将欲用的图片素材复制到本地站点目录中) 插入图像占位符,在图片准备好后再加入图片。加入方法:1、双击图像占位符;2、点“属性面版”中的“指向文件”,拖到右边文件中要插入的文件处。 在图像属性面版中设置 f. 插入层 方法: 1、点击插入面版中的“描绘层”;2、在网页编辑器窗口中按住鼠标左键拖画出定位用的层; 3、可以随意移动层的位置; 4、可在层中插入图像、文字等。 g. *插入表格,用表格定位 方法: 1、先用鼠标点至欲插入表格的位置; 2、点插入面版中的“表格”—“插入表格”; 3、确定行数、列数后确定即将表格插入到选定位置了; 4、可在表格中任何单元格里插入图像、文字等。 h. 建立超链接 方法: 1、选中要建立超链接的文字或图像; 2、点右键“创建链接”打开的窗口或在属性的链接栏里,填入链接的目标。(如:本网站另一个网页,或外部网页如https://www.wendangku.net/doc/4d7269344.html,,或电子邮件如:mailto:zdhwangji@https://www.wendangku.net/doc/4d7269344.html,) 3、在页面属性里修改链接的属性:修改--页面属性(链接、活动链接、访问过链接) 二、制作实例1

【IT专家】如何动态生成HTML页面

本文由我司收集整编,推荐下载,如有疑问,请与我司联系 如何动态生成HTML页面 我想知道一些新闻网站,如新浪,他们的新闻网页生成的都是html,我知道如何动态生成HTML页面,我想知道大概的一些原理。你可以写一些在后台运行的程序,比如一些用DELPHI写的DLL,在你要访问的链接里传送参数,在后台自动生成HTML代码,发送到客户端!!!当然如果你用的是JSP开发,也可以用JAVA写一些JAVABEAN或者是SERVLET,要实现的功能和DLL差不多! 新浪由于访问量极大,肯定不会每次访问都用服务器程序动态生成页面,不然服务器早就跑死了。他们会在网页内容创建或者更新时自动生成静态HTML页面,以后的浏览全部引向静态页面。其实CSDN也是同样的策略:论坛的帖子并不是动态生成的,而是已经生成好的静态页面(XML格式)。只有当有人回复时,才会调用服务器程序,重新生成静态页面。例如我要做一个信息发布的系统,后台管理系统把信息加到数据库当中,然后同时生成html文件储存在服务器上。我这样认为对吗?但是还有问题,如果我要把信息列表出来(例如主页要列表信息的题目,还有链接),那么是否还是要读数据库?还有一个问题,当我做搜查的时候,例如我要实现搜查信息的时候,我还是要通过数据库搜查吧?你知道一个论坛(例如CSDN)的浏览次数与发帖次数之比是多少吗?大概是10:1。也就是说,生成静态页面将减少90%的服务器程序运行次数。如果网站的每日页流量是1000万,这个比例就意味着一台小型机。没用处?你告诉我什么有用处?tokafeleung(梁继宗):一种常见的做法就是像你所说的这样。将信息列表和搜索实际上是同一个操作:根据某种条件得到一系列文章(最近做CMS,习惯说“文章”这个词,请多谅解)。如果文章正文普遍比较大,可以根据需要建索引字段,能够极大地提高搜索速度。在一个普通的CMS 中,最大的开销是读/写文章正文时的数据流。由于CMS的读/写次数之比更大(常常达到100:1甚至更大),因此实际上最大的开销就是读取文章正文的动作。如果有索引字段,搜索动作是不需要读取文章正文的。生成静态HTML文件之后,普通的(无修改的)浏览动作也不需要从数据库读取文章正文。一般情况下,这样就可以达到性能要求了。楼上所说的搜查,是建立一个索引表,将文章正文的关键字加入

静态网页制作

静态网页制作 一、网页设计基础 1、熟悉Dreamweaver 8的工作环境 2、创建新站点 创建本地站点:站点----管理站点----新建----站点(前三步也可直接从“新建站点”进入下面的设置向导对话框)----跟随向导设置直至完成 3、网页文件的基本操作 a、创建、打开和保存网页文件 创建:文件----新建----创建 打开:文件---打开----选择欲打开的文件 或者在右边的文件浮动面版中选择打开 保存:文件---保存或另存为 b. 设置网页的页面属性 修改---页面属性---然后设置(标题、背景、背景图像、文本等) c. 设置网页对象的颜色 网页对象,如页面背景、文字、链接都经常需要设置颜色。 可在各自对应的属性面版中设置。 d. 网页文本的输入和属性设置 文本可键入、导入、粘帖 文字可设置字体、大小、颜色、格式等。 键入空格的方法:1、汉字输入法设置为全角方式,按空格键即可输入。2、属性面版格式中:预先格式化的 换行:ENTER、SHIFT+ENTER 实例练习: 1、输入以下文字 书签夹在诗集里, 落叶夹在深秋里。 喜悦夹在生活里, 追求夹在人生里。 2、第一次设置格式为“无”,字体为“华文行楷”,字体颜色为“红色”,字号为“5号”,添加项目符号。然后保存、预览。

3、第二次设置格式为“标题一”,字体为“楷体”,字体颜色为“蓝色”,字号为“5号”,添加项目符号,对齐方式为“居中”。然后保存、预览。 比较两次设置的效果。 e. 网页图片的插入和属性设置 插入图片,在对话框中选择图片。(最好在建立站点时将欲用的图片素材复制到本地站点目录中) 插入图像占位符,在图片准备好后再加入图片。加入方法:1、双击图像占位符;2、点“属性面版”中的“指向文件”,拖到右边文件中要插入的文件处。 在图像属性面版中设置 f. 插入层 方法: 1、点击插入面版中的“描绘层”;2、在网页编辑器窗口中按住鼠标左键拖画出定位用的层; 3、可以随意移动层的位置; 4、可在层中插入图像、文字等。 g. *插入表格,用表格定位 方法: 1、先用鼠标点至欲插入表格的位置; 2、点插入面版中的“表格”—“插入表格”; 3、确定行数、列数后确定即将表格插入到选定位置了; 4、可在表格中任何单元格里插入图像、文字等。 h. 建立超链接 方法: 1、选中要建立超链接的文字或图像; 2、点右键“创建链接”打开的窗口或在属性的链接栏里,填入链接的目标。(如:本网站另一个网页,或外部网页如https://www.wendangku.net/doc/4d7269344.html,,或电子邮件如:mailto:zdhwangji@https://www.wendangku.net/doc/4d7269344.html,) 3、在页面属性里修改链接的属性:修改--页面属性(链接、活动链接、访问过链接)

JSP生成静态HTML页面的几种方法

JSP生成静态HTML页面的几种方法 2008年04月12日星期六 09:26 一、从数据库中取相应数据并替换掉模板中的对应标签,下面是一个简单的示例 1.buildhtml.jsp <%@ page contentType="text/html; charset=gb2312" import="java.util.*,java.io.*"%> <% try{ String title="This is Title"; String content="This is Content Area"; String editer="LaoMao"; String filePath = ""; filePath = request.getRealPath("/")+"test/template.htm"; //out.print(filePath+"
"); String templateContent=""; FileInputStream fileinputstream = new FileInputStream(filePath);//读取模块文件 int lenght = fileinputstream.available(); byte bytes[] = new byte[lenght]; fileinputstream.read(bytes); fileinputstream.close(); templateContent = new String(bytes); //out.print(templateContent); templateContent=templateContent.replaceAll("###title###",title); templateContent=templateContent.replaceAll("###content###",content); templateContent=templateContent.replaceAll("###author###",editer);// 替换掉模块中相应的地方 //out.print(templateContent); // 根据时间得文件名 Calendar calendar = Calendar.getInstance(); String fileame = String.valueOf(calendar.getTimeInMillis()) +".html"; fileame = request.getRealPath("/")+fileame;//生成的html文件保存路径FileOutputStream fileoutputstream = new FileOutputStream(fileame);// 建立文件输出流 byte tag_bytes[] = templateContent.getBytes(); fileoutputstream.write(tag_bytes); fileoutputstream.close(); } catch(Exception e){ out.print(e.toString()); } %>

静态网页论文静态网页生成技术论文

静态网页论文静态网页生成技术论文 摘要:静态网页的访问速度要快于动态网页,使动态网页静态化具有重要意义。由于动态网页要通过服务器端运行,这样增加了服务器的负载,使其静态化明显可以减轻服务器的压力,使网页访问速度加快。使用静态更有利用搜索引擎的收录,提高网站的排名。 关键词:静态网页;生成技术;动态网页 the generationtechnology of static web luo hongyang,yu wei (jiangxi ceramin&art institute,jingdezhen333001,china) abstract:access to static web faster than dynamic web,static web to dynamic significance.since server-side dynamic web to run through,thus increasing the load on the server so that it can significantly reduce the static pressure on the server so web access speeded.static included more use of search engines,improve the web’s ranking. keywords:static web;generation technology;dynamic web 近几年来网站为了提高在搜索引擎中的排名想尽办法,

其中最为常用的方法就是将动态网页静态化的处理方法。 一、动态网页与静态网页的比较 静态网页是网页的代码都在页面中,不需要执行asp,php,jsp,.net等程序生成客户端网页代码的网页。静态页面不能自主管理发布更新的页面,如果想更新网页内容,要通过ftp软件把文件down下来用网页制作软件修改(通过fso等技术例外)常见的静态页面举例:.html扩展名的、.htm 扩展名的。注意:静态页面并非网站上没有动画的就是静态页面。 动态网页是通过执行asp,php,jsp,.net等程序生成客户端网页代码的网页。动态页面通常可以通过网站后台管理系统对网站的内容进行更新管理。发布新闻,发布公司产品,交流互动,博客,网上调查等,这都是动态网站的一些功能。也是我们常见的。动态页面常见的扩展名有:.asp,php,jsp,cgi,aspx等。注意:动态页面的“动态”是网站与客户端用户互动的意思,而非网页上有动画的就是动态页面。 静态网页,动态网页主要根据网页制作的语言来区分:静态网页使用语言:html(超文本标记语言) 动态网页使用语言:html+asp或html+php或html+jsp等。

纯C#技术下HTML页面动态生成的实现

2007年第10期计算机与现代化 jIsUANJIYUXIANDAIHUA总第146期 文章编号:1006-2475(2007)】O珈61—03 纯C}}技术下HTML页面动态生成的实现 熊建英,姚磊岳,胡剑锋 (江西蓝天学院,江西南昌330098) 摘要:动态网站自产生以来就凭借其强天的数据管理以压方便、快速的搜索功能迅速占领了web市场。随着网络的发展,网络用尸的驯增,一些网站,特别是连驻数每秒超过200的大型网站的速度慢得难以让人忍受。本文提出了一种静态页面酌方案,不仅解决了速度慢的问题.同时也保留了动态网站的强大功能。 关键词:o;AsP.Net;数据库;HTML 中圈分类号:1粥93文献标识码:A hnplem明tati∞ofDyn锄i酬lyGene髓由gH田m—WebPagesbyC梓 X10NGJian—yi“g,YAOI七i—yue,HUJian一{b“g (五ang矗B1ue3kyuniversi押.N蚰ch鲫g330098,Cllina) Ab蛐哺ct:Dyn姗lcalWebs打eha8beene。plodngltsoccupa幽nsincei协appear舯ce.WIththedevelopmentofIn懈met明din.creI玎entofWebuser,someWeb9ltes,e8pecl枷ycllosewhichhavemorethan200 c咖ec60n8严‘second,becolIlingmoreandmoredi压cultt。openInthisamcle,asoludoIIi8f赳sedtosolvethi8pIDblemItcannotonlyaccdemtetheweb8ite,butabo陀sewe【¨nchnmctlon秆dvnam*Webslt。 KeywOrds:(:#;AsPNET;datab岫。;HTML O引言 网络的诞生使得全球各地的人们能够方便地共享资源。动态网站的出现更是网络信息发布史上一个革命性的里程碑。其功能强大、维护简单、搜索快速准确,似乎已经达到了人们所要求的一切功能。但是,其本身的访问机制却一直制约着它在大型网站领域的运用。网站的运营商一方面希望网站流量不断增抛,另一疗面义担心流量增fIⅡ后丽站打开速度急速F滑而导致访问量骤降。 本文以纯C#为技术基础,提出了一套简单易行的解决方案。在保证网站打开速度不变,甚至更快的情况下,保留了动态网站强大的功能。使得网站数据在用户访问时能够脱离数据库,在网站维护时又与数据库保持着紧密的联系。 l网站的访问机制1.1静态网站访问机制 静态网站的访问模式较为简单,我们避开复杂的网络访问协议以及数据链路不谈,其访问机制如图1所示。 图1静态网站访问机制图 网站数据存放在服务器当中,用户通过网络设备直接获取服务器当中的数据即可。 收稿日期:2006—12.27 作者简介:熊建英(1982一),女,江西南昌人,江西蓝天学院信息研究所助教,硕士,研,。方向:数据库;姚磊岳(1982一),男,江西南昌人,江西蓝天学院计算机系助教,硕士,研究方向:数据库;胡剑锋(1976一),男,扛西景德镇人,副教授,博士,研究 方向:计算机理论。  万方数据

ASP生成静态页面的6种方法

ASP生成静态网页的多种方法 使用FSO生成 <% '使用FSO生成 Set fs = CreateObject("Scripting.FileSystemObject") NewFile=Server.MapPath("ud03/fso.htm") '新建一文件fso.htm,若该文件已存在,则覆盖它 Set a = fs.CreateTextFile(NewFile, True) Response.Write"新文件已建立!" a.close File=Server.MapPath("ud03/fso.htm") Set txt=fs.OpenTextFile(File,8,True) '打开成可以在结尾写入数据的文件 data1="这句话是使用WriteLine方法写入的。!
" txt.WriteLine data1 data2="这句话是使用Write方法写入的。
" txt.Write data2 txt.Close %> 使用XMLHTTP生成 <% '使用XMLHTTP生成 Set xml = Server.CreateObject("Microsoft.XMLHTTP") '把下面的地址替换成你的首页的文件地址,一定要用http://开头的绝对路径,不能写相对路径xml.Open "GET", "https://www.wendangku.net/doc/4d7269344.html,/ud03/", False xml.Send BodyText=xml.ResponseBody BodyText=BytesToBstr(BodyText,"gb2312") Set xml = Nothing Dim fso, MyFile Set fso = CreateObject("Scripting.FileSystemObject") Set MyFile= fso.CreateTextFile(server.MapPath("ud03.htm"), True) '生成的html的文件名MyFile.WriteLine(BodyText) MyFile.Close '使用Adodb.Stream处理二进制数据 Function BytesToBstr(strBody,CodeBase) dim objStream set objStream = Server.CreateObject("Adodb.Stream") objStream.Type = 1 objStream.Mode =3 objStream.Open objStream.Write strBody

相关文档
相关文档 最新文档