WEB网站架构分析HTML静态化

合集下载

三种网页格式HTML、SHTML、ASPX比较

三种网页格式HTML、SHTML、ASPX比较

关于动态静态化页面(shtml)1 个评论先谈一下本文会用到的三种网页格式,分别是HTML、SHTML、ASPX。

它们各有特点:HTML即为本文的主角:静态页面。

如果浏览器从服务器上请求一个HTML页面,服务器把该页面原封不动地发送给浏览器。

因此它的反应速度是最快的,而且对于cpu、内存等等的要求比较低。

ASPX是目前比较流行的动态网页格式。

ASP .NET页面的扩展名为 .aspx。

如果浏览器请求的是一个ASP .NET页面,服务器在把它回送到浏览器之前会处理页面中的所有可执行代码。

动态网页的一个特点是信息交互、及时更新、页面文件少、开发速度比较快。

但是它的一个严重的问题是在访问量比较大,而服务器的配置和资源比较有限的情况下,一些频繁的读写数据库、程序逻辑等等,会使得服务器负担不起而当机。

因此对于访问量比较大的网站,网页静态化是一个比较可靠的解决方案。

但是静态页面重复的内容比较多,在信息量比较大的网站,全HTML可以说是无论对于开发者或者使用者,都是缺乏人性化的工作。

例如我有一个显示内容的页面,它有左右两块,右边是文章内容,可能是长时间甚至永远不会变动的,左边是包含公告、新闻等的一些导航,更新速度比较快。

那如果左边的公告有了新的内容,为了让每个页面的信息都准确,那所有的页面都要重新制作,这操作起来明显很不方便。

于是就有了SHTML的存在。

SHTML 的一个特点就是在服务器会做一定的预处理,使得它可以用include file的方式,把若干个文件包含进来。

例如上例的页面,可以拆分为a.html和b.html,然后用c.shtml把这两个文件包含进来,那在更新的时候只需要更新a.html,而b.html不需要更新,这样可以减少大量的制作工作。

可能动态网页就是根据这个而产生的。

在中,这是最基本的控件思想。

以下是c.shtml的页面代码:<div class=”contaier”><div id=”left”><!-- #include file=”a.html”--></div><div id=”right”><!-- #include file=”b.html”--></div></div>因此,对于,可以采用输出shtml页面的方式,动态生成静态页面,来解决性能问题。

6_静态网页制作

6_静态网页制作

换行

对于需要换行的地方,应加上<Br>标记, 有了它浏览器会自动将右边的文字转移至 下一行。请注意, <Br>是单标记。 示例:没有换行效果 换行效果
段落标记
为了使文本排列的整齐和清晰,文字段落 之间常用<P>和 </P>来做标记。 </P>是可 以省略的,因为下一个<P>的开始就意味着 上一个<P>的结束。 <P>标记还有一个属性ALING,它用来指明 字符显示时的对齐方式,一般值有 CENTER、LEFT、RIGHT3种。 示例:段落标记效果
6.2.2 页面布局与文字标记

文本是网页传播信息的基本载体,在网页 中的重要地位可想而知。对于任何一个基 本网页来说,文本都是必不可少的,文本 的格式化也是非常重要的。
标题

HTML中提供了相应的标题标记<Hn>。HTML 总共提供6个等级的标题,n越小标题字号就越大。 字号大 <H1>„ </H1> 一级标题 <H2>„ </H2> 二级标题 <H3>„ </H3> 三级标题 <H4>„ </H4> 四级标题 <H5>„ </H5> 五级标题 字号小 <H6>„ </H6> 六级标题 示例:标题效果
1. 2. 3. 4.
5.
简单动态页面处理流程 浏览器发出对动态页面的请求; Web服务器找到该页面,传给应用服务器; 应用服务器扫描页面,执行代码,生成结果; 应用服务器把结果页面返回给Web服务器; Web服务器发回该结果页面给浏览器。

Web网站架构案例分析(2024)

Web网站架构案例分析(2024)

引言概述:随着数字化时代的发展,Web网站架构在业务应用中扮演着重要角色。

本文将通过分析一个Web网站架构案例,探讨其结构与特点,以及其中的技术要点和解决方案。

通过对该案例的详细分析,旨在帮助读者深入了解Web网站架构设计的重要性和实践方法。

正文内容:一、整体架构设计1.1背景描述1.2目标与需求1.3架构设计原则1.4架构风格选择1.5架构组件概述二、前端架构设计2.1用户界面设计2.2前端开发框架选择2.3响应式设计实现2.4数据展示与交互设计2.5性能优化策略三、后端架构设计3.1数据存储与管理3.2后端开发语言选择3.3业务逻辑处理与数据接口设计3.4安全性与权限管理3.5可扩展性与性能优化四、中间件与服务设计4.1负载均衡与高可用性4.2缓存与数据访问层设计4.3消息队列与异步处理4.4日志与监控系统4.5分布式系统与微服务拆分五、部署与运维设计5.1环境拓扑与网络规划5.2部署策略与容器化技术5.3自动化测试与持续集成5.4容灾与备份设计5.5性能监控与故障排查总结:通过对该Web网站架构案例的详细分析,可以看出在设计Web 网站架构时需要充分考虑诸多因素,包括整体架构设计、前后端架构设计、中间件与服务设计以及部署与运维设计。

在实践中,还需要根据具体业务需求和技术要求进行合理选择与权衡。

本文所述的案例分析,旨在提供相关的技术经验和设计思路,帮助读者更好地理解和应用Web网站架构设计的方法和策略,从而实现稳定、高效、可扩展的Web网站系统。

引言概述:Web网站架构是指将一个网站所需的各个组件和模块有机地连接起来,在确保性能和可扩展性的基础上,为用户提供高效、稳定和可靠的网站服务。

本文将通过分析一个实际的Web网站架构案例,详细阐述该案例的整体架构和各个组成部分的功能和相互连接关系,以及在实际应用中的优缺点。

正文内容:1.案例概述介绍案例背景和目标分析案例的业务模型和需求2.系统架构设计2.1前端架构分析前端页面组成和交互逻辑讨论前端框架的选择和使用2.2后端架构介绍后端系统的组成和功能分析后端服务的架构设计,如分层架构、微服务等2.3数据库架构讨论数据库的选择和设计分析数据库的读写性能和数据一致性保证3.系统组成部分3.1负载均衡介绍负载均衡的作用和原理分析案例中负载均衡的具体实现方式和效果3.2缓存系统讨论缓存系统的设计和使用分析缓存对系统性能的提升和数据一致性的影响3.3消息队列分析消息队列的优点和应用场景讨论案例中消息队列的使用方式和效果3.4安全与监控系统介绍系统安全和监控的重要性分析案例中的安全策略和监控系统的设计与实现3.5扩展和容灾策略讨论系统的扩展性和容灾性分析案例中的扩展和容灾策略的选择和应用4.优缺点分析4.1优点分析该案例中系统架构的优势和价值探讨该架构如何满足业务需求和性能要求4.2缺点讨论该架构可能存在的问题和局限性分析缺点对系统性能和可靠性的影响5.实际应用案例分析结合实际应用场景,分析该架构在不同情况下的应用效果探讨架构的可扩展性和适应性,以及如何应对应用规模的变化总结:本文通过分析一个实际的Web网站架构案例,详细阐述了该案例的整体架构设计和各个组成部分的功能与相互连接关系,并分析了案例的优缺点以及在实际应用中的效果。

前端设计的未来趋势从静态到动态的转变

前端设计的未来趋势从静态到动态的转变

前端设计的未来趋势从静态到动态的转变从静态到动态的转变:前端设计的未来趋势前端设计在过去几十年间经历了巨大的变革,从最初的静态网页到如今的动态交互界面。

这种转变不仅仅是技术上的进步,更是用户需求和行业趋势的驱动。

本文将探讨前端设计的未来趋势,重点关注从静态到动态的转变,并分析其对用户体验和行业发展的影响。

一、传统静态网页设计过去,静态网页设计是前端设计的主流。

它使用HTML和CSS来构建页面,页面内容一经加载就呈现给用户,用户只能浏览和阅读信息,无法与页面进行交互。

设计师主要关注网页布局、颜色搭配和图片选择,以提供统一的视觉效果。

然而,传统静态网页设计存在一些问题。

首先,用户体验有限,无法实现个性化和互动性。

其次,信息呈现相对单一,无法满足用户对多元内容的需求。

因此,前端设计逐渐向动态化转变。

二、动态交互设计的兴起动态交互设计以Ajax技术为基础,通过异步请求和数据交换实现页面内容的动态更新。

这种设计方式使得用户可以在不刷新整个页面的情况下,与页面进行实时交互。

动态交互设计不仅为用户提供了更多的功能和便利性,还为设计师带来了更丰富的表现手段。

1. 异步加载与无刷新体验动态交互设计中的异步加载技术,可以实现页面局部的更新而不影响其他区域。

例如,通过异步提交表单,实时验证输入数据,给予用户及时反馈。

再如,使用无限下拉加载技术,实现长列表的分批加载,提高用户的阅读体验。

这些技术的应用,使得用户在与网页交互时,感受到更流畅、无刷新的体验。

2. 用户个性化与交互反馈动态交互设计使得用户可以根据自身喜好和需求,对页面进行个性化定制。

例如,通过用户交互行为分析,网页可以智能地推荐相关内容,提高用户的使用效率和满意度。

同时,动态交互设计还强调对用户操作的及时反馈。

通过动画、过渡效果等手段,可以增加用户的操作可视化,提升用户体验。

例如,按钮点击时的动画效果、加载进度条的展示等,都能给用户带来更直观的操作反馈。

3. 数据驱动与可视化展示动态交互设计中,数据驱动的思想逐渐被引入,通过可视化图表、数据统计等方式,将数据直观地展示给用户。

网站建设中采用静态页面的优势和缺点

网站建设中采用静态页面的优势和缺点

网站建设中采用静态页面的优势和缺点静态网页也有双面性,优缺各有。

前者为它的管理维护与交互功能方面有限制性,而后者在于它的信息较为稳定,有利于用户在网上通过搜索引擎索引网页信息。

这一优点也并不绝对,搜索引擎不能收录所有的静态网页,但是,只要是动态网页,搜索引擎就一定收录不到。

关于静态网页的优缺点,动态网页的优缺点,有很多人都有疑问,比如动态网页如何实现,静态网页如何实现,为何一些网站喜欢采用动态网页,而一些网站乐于采用静态网页。

上海网站建设公司海淘科技的seo工作人员总结了静态网页的五大特点:(1)静态网页内容的稳定性较动态网页的要好,这是易被搜索引擎检索的原因。

(2)静态网页功能方面的限制性在于它交互性能差。

(3)在网站信息量很大的时候,依赖静态网页制作方式较为不便。

这是由于数据库并不支持静态网页,在制作网站、维护网站这方面,静态网页的工作量大。

(4)静态网页不含有“?”,取而代之的是一个固定的网页URL后缀,常见形式有htm、html等,这是每个静态网页都有的。

(5)还有一个就是,静态网页就像一个独立的文件,它就这样保存在服务器的文件上,如果你把做好的内容发布于网站服务器上,它都会保存在网站服务器上,无论你访问与否。

综合以上内容所述,在上海海淘科技的seo人员看来,静态网页有缺点也有优点,前者为它的管理维护与交互功能方面有限制性,而后者在于它的信息较为稳定,有利于用户在网上通过搜索引擎索引网页信息,这主要是因为静态网页总是存在的,一旦搜索引擎启动,通过某个链接关系触动了这个静态网页,就很容易获取该网页的信息。

这就类似于一个地方派出所管理该区域的人口,常居者由于住所不常变更,要想管理,直接登门核对其户口本信息即可。

而相对于常居者,大量的流动人口就不易于管理了。

获取他们信息的方法较为复杂,要么让所有的流动人口都跟常居人口的户籍本有所关联,要么就只能让所有的流动人口暂时不迁居,待管理者检查证件并且登记完毕以后再迁居。

静态网页的毕业论文

静态网页的毕业论文

静态网页的毕业论文静态网页的毕业论文一、引言随着互联网的快速发展,网页设计和开发已经成为了一个独立的职业领域。

在这个领域中,静态网页是最基本、最常见的一种形式。

本篇论文将探讨静态网页的设计原则、开发流程以及其在实际应用中的优缺点。

二、设计原则1. 简洁明了静态网页的设计应该遵循简洁明了的原则。

通过合理的布局和排版,使得用户能够快速地找到所需的信息。

过多的装饰和冗杂的内容只会分散用户的注意力,降低用户体验。

2. 色彩搭配色彩是网页设计中非常重要的一部分。

静态网页应该选择适合主题的色彩搭配,以增强用户对网页的印象。

同时,色彩的使用应该注意搭配的协调性和对比度,以确保页面的可读性和可视性。

3. 图片和图标的运用静态网页中的图片和图标可以起到很好的装饰作用,同时也可以提供更直观的信息传达方式。

在使用图片和图标时,应该注意其清晰度和合适性,避免使用过多的图片导致页面加载缓慢。

三、开发流程1. 确定需求在开发静态网页之前,首先需要明确网页的需求和目标。

这包括网页的功能、页面数量、交互方式等。

通过与客户的沟通和需求分析,确定开发的方向。

2. 设计页面布局在确定需求后,开始设计网页的页面布局。

根据需求,确定页面中各个元素的位置和大小。

通过使用设计软件,如Adobe Photoshop或Sketch等,设计出页面的草图和样式。

3. 编写HTML和CSS代码在设计完成后,开始编写HTML和CSS代码。

HTML负责定义网页的结构和内容,CSS负责定义网页的样式和布局。

通过合理的标签和样式的运用,实现网页的呈现和交互效果。

4. 页面优化和测试在编写代码完成后,进行页面的优化和测试。

优化包括对代码的精简和压缩,以提高页面的加载速度。

测试包括对页面在不同浏览器和设备上的兼容性测试,以确保页面的正常运行。

四、优缺点分析1. 优点静态网页具有加载速度快、稳定性高的优点。

由于静态网页不需要与数据库进行交互,所以页面的响应速度非常快。

静态与动态模板对比分析

静态与动态模板对比分析

静态与动态模板对比分析在网页开发领域,模板是一种常见的技术手段,可用于创建和呈现网页的布局和设计。

其中,静态和动态模板是两种常见的类型。

本文将对静态和动态模板进行对比分析,探讨它们的特点、应用场景以及优缺点。

一、静态模板静态模板是指在服务器上预先生成的、包含固定内容的文件。

在用户请求访问网页时,服务器只需要将提前生成好的静态文件返回给用户,而无需进行额外的计算和处理过程。

静态模板具有以下特点:1. 高性能:由于静态模板不需要进行动态生成,所以访问速度较快。

特别是在高并发的情况下,静态模板能有效减轻服务器负载,提高页面响应速度。

2. 简单易用:静态模板的创建和使用相对简单,只需要将静态文件放置到服务器上即可。

开发人员无需关注服务器端的逻辑处理,只需专注于网页的布局和设计。

3. 缓存友好:由于静态模板的内容是静态不变的,所以可以轻松地应用缓存技术。

一旦静态文件被缓存,后续的访问可以直接从缓存中获取,减少服务器的访问压力。

然而,静态模板也存在一些缺点。

首先,由于静态模板的内容是固定的,因此不适用于需要频繁更改的网页场景,比如新闻、博客等。

其次,静态模板无法实现个性化的网页内容,无法根据用户的不同需求进行动态展示。

二、动态模板动态模板是指在服务器端根据用户的请求和一定的逻辑规则来生成网页内容。

相比静态模板,动态模板具有以下特点:1. 动态生成:动态模板能够根据用户请求的不同参数来生成不同的网页内容,可以实现更具个性化的用户体验。

例如,在电子商务网站中,动态模板可以根据用户的浏览历史和购买记录来推荐相关产品。

2. 灵活性:由于动态模板的内容是动态生成的,因此可以根据需求随时进行修改和更新。

无论是界面设计的优化,还是功能的扩展,动态模板都能够满足不断变化的需求。

3. 数据库支持:动态模板通常与数据库相结合,可以实现更强大的数据展示和操作能力。

通过数据库的支持,动态模板可以实现用户注册、数据查询、评论互动等功能。

网站静态化生成html有什么好处汇总1篇

网站静态化生成html有什么好处汇总1篇

网站静态化生成html有什么好处汇总1篇网站静态化生成html有什么好处 1网站静态化生成html有什么好处网站优化很多时候讲究一个细节优化,很多时候站长都遇见这样的一种情况,比如同样一个网站,同样一些内容,为什么有的排名好,有的排名差?其实问题归根到底就是网站的细节。

细节决定成败,怎么是站权重更高,不妨先从网页的基础打起,让网页静态化是网站优化的关键。

网站静态化有什么优势呢? 一、静态网页提高用户访问速度网站的格式分为动态和静态,对于动态的asp、php、jsp、.net 等程序,都需要读取调用数据库内容,才能显示数据。

如果网站流量比较大,就增加了数据库的读取次数,占用很大的服务器资源,因此就会影响网站速度。

而网站做成静态,直接除去读取数据库的操作,减少环节,提高网站反映速度。

二、搜索引擎更青睐静态页面的抓取静态页面抓取路径相对比较简单,因此搜索引擎更喜欢静态的网页。

对于静态页面来说,搜索引擎SEO排名更容易提高。

目前一些行业__站,比如新浪、搜狐、网易、阿里巴巴、百度、慧聪等,页面大多都采用静态或伪静态网页来显示,更便于搜索引擎抓取与排名。

三、静态网页相对比较稳定静态网页从安全角度讲,很少遭到黑客攻击,除开源程序采用的是开源cms。

如果黑客不知道网站的后台、网站采用程序、数据库的地址,静态网页更不容易受到黑客的攻击。

而且从网站稳定性来讲,如果程序、数据库出了问题,会直接影响网站的访问,而静态网页就避免如此情况,不会因为程序等,而损失网站数据,影响正常打开,从而损失用户体验,影响网站信任度。

静态页面成为很多企业做网站的.首选,静态网页优化不管是对排名还是网页收录、网站的数据、服务器的安全等都有好处,因此网页静态化已经经常应用到实际优化过程中。

但是关键词排名优化影响因素远远不只以上几点,排名的问题是一个较复杂的问题,文章只是对网站优化的基础设想,要达到好的效果,还需要多方面的努力。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

HTML静态化1介绍其实大家都知道,效率最高、消耗最小的就是纯静态化的html页面,所以我们尽可能使我们的网站上的页面采用静态页面来实现,这个最简单的方法其实也是最有效的方法。

但是对于大量内容并且频繁更新的网站,我们无法全部手动去挨个实现,于是出现了我们常见的信息发布系统CMS,像我们常访问的各个门户站点的新闻频道,甚至他们的其他频道,都是通过信息发布系统来管理和实现的,信息发布系统可以实现最简单的信息录入自动生成静态页面,还能具备频道管理、权限管理、自动抓取等功能,对于一个大型网站来说,拥有一套高效、可管理的CMS是必不可少的。

除了门户和信息发布类型的网站,对于交互性要求很高的社区类型网站来说,尽可能的静态化也是提高性能的必要手段,将社区内的帖子、文章进行实时的静态化,有更新的时候再重新静态化也是大量使用的策略,像Mop的大杂烩就是使用了这样的策略,网易社区等也是如此。

同时,html静态化也是某些缓存策略使用的手段,对于系统中频繁使用数据库查询但是内容更新很小的应用,可以考虑使用html静态化来实现,比如论坛中论坛的公用设置信息,这些信息目前的主流论坛都可以进行后台管理并且存储再数据库中,这些信息其实大量被前台程序调用,但是更新频率很小,可以考虑将这部分内容进行后台更新的时候进行静态化,这样避免了大量的数据库访问请求。

提升网站性能的方式有很多,例如有效的使用缓存,生成静态页面等等,本文主要介绍Java高并发:HTML静态页化。

1.1什么是静态页面静态页面是独立的html、htm后缀文件,不需要经过服务器的编译,可以直接加载到客户浏览器上显示出来。

1.2为什么要将网站修改为静态页面1)加快页面打开浏览速度,不用调用数据库,访问速度比一般动态网站快5-10倍。

2)有利于搜索引擎优化SEO,百度谷歌等搜索引擎都会优先收录静态页面。

不仅被收录的快还收录的全。

并且在排名中静态页面的排名权重要高于动态路径的页面。

3)网站更安全,静态页面从理论上讲是完全没有漏洞的。

数据库出错时,不影响网站正常访问。

4)缺点:无法即时更新,每次更新内容都需要生成静态页面。

1.3静态化需要考虑三个方面的事情1,对SEO,能够让搜索引擎更方便的进行采集和分类,提升其速度和准确性。

2,对用户,不能影响版面的展示,不能为了速度影响了美观和可用性。

3,对维护,一些内容可以方便的更换,比如菜单调整,连接调整,广告位的调整等。

2Java实现html静态化方案java页面静态化解释:简单的说,我们如果访问一个链接 ,服务器对应的模块会处理这个请求,转到对应的jsp界面,最后生成我们想要看到的数据。

这其中的缺点是显而易见的:因为每次请求服务器都会进行处理,如果有太多的高并发请求,那么就会加重应用服务器的压力,弄不好就把服务器搞down 掉了。

那么如何去避免呢?如果我们把对 test.do 请求后的结果保存成一个 html 文件,然后每次用户都去访问 ,这样应用服务器的压力不就减少了?那么静态页面从哪里来呢?总不能让我们每个页面都手动处理吧?这里就牵涉到我们要讲解的内容了,静态页面生成方案… 我们需要的是自动的生成静态页面,当用户访问 ,会自动生成 test.html ,然后显示给用户。

2.1页面静态化方案应该掌握的知识点1、基于- URL Rewrite伪静态URL重写实际就是以静态地址(如:http://127.0.0.1:8080/pro/index.html)访问地态网页的方法(如:http://127.0.0.1:8080/pro/index.jsp)。

伪静态URL重写是通过微软公司封装好了的一个URL重写组件(UrlReswriter.jar)来实现的,导入JAR包,在WEB服务中加载伪静态地址拦截器,客户端以静态地址向服务器发起请求,服务器端的拦截器拦截客户端请求,查找XML配置文件,把静态的URL地址转换成动态地址,发起请求。

2、基于 Servlet web.xmlStruts或servlet接收请求,如test.action,对请求的url进行处理,判断是否生成静态html页面。

其中,对于 URL Rewriter的部分,可以使用收费或者开源的工具来实现,如果 url不是特别的复杂,可以考虑在 servlet 中实现,那么就是下面这个样子:2.2JSP生成静态HTML页面最普遍的三种方法Jsp静态化解释:对于现在的Web Application来说,动态页面是占有绝对高的地位的,正因为有了动态化,才有了现在Web的丰富多彩,但是如同所有别的事实一样,好处往往都是有代价的。

为了产生出动态的效果,每一次对页面的请求都会要求服务器对页面进行编译或者执行,这些操作都很消耗系统资源。

如果这期间还有和数据库的通讯,那么代价将会更大。

如果一个页面在一定的时间内,其内容没有发生改变,那么就不必为每一次对它的访问进行一次“新”的编译或执行。

我们可以把它在这段没有发生改变的时间内的结果保存到一个静态的页面里面,然后每次访问这个页面时,就用刚才保存的静态页面进行回复。

这样便能大大地减少系统资源的消耗,并且提高对客户的响应速度。

而这个过程就称之为页面静态化。

现在所面临的问题就是如何在JSP中将页面的内容保存下来。

在访问JSP页面的时候,服务器会先将JSP文件编译为Servlet文件,然后对这个Servlet编译、执行,并最终把结果返回给客户端。

而我们的任务就是要把这个最终生成的HTML静态页面保留下来,存放在服务器上。

解决的方法其实很简单。

普通的对于JSP的访问,最终的数据流是回写到客户端的,如果我们把它重定向,让它回写到服务器上一个本地的文件,这样就能把JSP的执行结果保存起来,而这个文件就是我们想要得到的静态化的结果。

2.2.1从数据库中取相应数据并替换掉模板中的对应标签。

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";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());}%>2. template.htm<html><head><title>###title###</title><meta http-equiv="Content-Type" content="text/html; charset=gb2312"><LINK href="../css.css" rel=stylesheet type=text/css></head><body><table width="500" border="0" align="center" cellpadding="0" cellspacing="2"><tr><td align="center">###title###</td></tr><tr><td align="center">author:###author###&nbsp;&nbsp;</td></tr><tr><td>###content###</td></tr></table></body></html>2.2.2从动态页的URL获取相应页面内容并写入到文件/** Created on 2013-3-19* To change the template for this generated file go to* Window&gt;Preferences&gt;Java&gt;Code Generation&gt;Code and Comments */package .tools.utils;import java.io.BufferedReader;import java.io.File;import java.io.FileOutputStream;import java.io.InputStream;import java.io.InputStreamReader;import java.io.PrintWriter;import .HttpURLConnection;import .URL;import java.util.Date;/*** @author Administrator* To change the template for this generated type comment go to* Window&gt;Preferences&gt;Java&gt;Code Generation&gt;Code and Comments */public class MakeHtml {private static long star = 0;private static long end = 0;private static long ttime = 0;//返回html代码public static String getHtmlCode(String httpUrl){Date before = new Date();star = before.getTime();String htmlCode = "";try {InputStream in;URL url = new .URL(httpUrl);HttpURLConnection connection = (HttpURLConnection)url.openConnection();connection = (HttpURLConnection) url.openConnection();connection.setRequestProperty("User-Agent","Mozilla/4.0");connection.connect();in = connection.getInputStream();java.io.BufferedReader breader = new BufferedReader(new InputStreamReader(in , "GBK")); String currentLine;while((currentLine=breader.readLine())!=null){htmlCode+=currentLine;}} catch (Exception e) {e.printStackTrace();}finally{Date after = new Date();end = after.getTime();ttime = end-star ;System.out.println("执行时间:"+ttime +"秒");}return htmlCode;}//存储文件public static synchronized void writeHtml(String filePath,String info,String flag) {PrintWriter pw = null;try {File writeFile = new File(filePath);boolean isExit = writeFile.exists();if (isExit != true) {writeFile.createNewFile();} else {if (!flag.equals("NO")) {writeFile.delete();writeFile.createNewFile();}}pw = new PrintWriter(new FileOutputStream(filePath, true));pw.println(info);pw.close();} catch (Exception ex) {System.out.println(ex.getMessage());}finally{pw.close();}}public static void main(String[] args) {String url = "/index.htm";writeHtml("c:/demo.htm",getHtmlCode(url),"NO");}}2.2.3利用Filter和定制Response,把服务器返回的JSP响应输出到我们自己的Response中,就可以将响应快速写入Html文件,然后再发送给客户。

相关文档
最新文档