﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-IT人生-文章分类-JSP</title><link>http://www.blogjava.net/cool2009/category/38308.html</link><description>专注于java相关技术.</description><language>zh-cn</language><lastBuildDate>Mon, 16 Mar 2009 10:54:27 GMT</lastBuildDate><pubDate>Mon, 16 Mar 2009 10:54:27 GMT</pubDate><ttl>60</ttl><item><title>JSP生成静态页原理（转）</title><link>http://www.blogjava.net/cool2009/articles/259961.html</link><dc:creator>龙华城</dc:creator><author>龙华城</author><pubDate>Mon, 16 Mar 2009 03:04:00 GMT</pubDate><guid>http://www.blogjava.net/cool2009/articles/259961.html</guid><wfw:comment>http://www.blogjava.net/cool2009/comments/259961.html</wfw:comment><comments>http://www.blogjava.net/cool2009/articles/259961.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/cool2009/comments/commentRss/259961.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/cool2009/services/trackbacks/259961.html</trackback:ping><description><![CDATA[<div class="postBody">常见的分类信息首页，需读取至少六次数据库;其他子页面，五至十几次次不等。
<p>　　在使用数据库连接池的情况下，Tomcat可以支撑的并发量也十分有限。系统资源主要消耗在两方面：</p>
<p>　　<strong>1、数据库操作，频繁的从数据库返回结果;</strong></p>
<p>　　<strong>2、Tomcat解析<a class="bluekey" href="http://dev.yesky.com/devjava/" target="_blank">JAVA</a>文件。</strong></p>
<p>　　将动态页面按一定规则创建一匹.html纯静态页面的过程，称之为生成静态页面。</p>
<p>　　<strong>优点</strong></p>
<p>　　无须访问数据库,节省了最大的系统消耗。</p>
<p>　　Tomcat直接返回.html静态文件，无须解析JAVA文件,最大限度的提高效率。</p>
<p>　　<a class="bluekey" href="http://soft.yesky.com/security/" target="_blank">安全</a>，避免了非法传递参数所导致的错误。</p>
<p>　　<strong>缺点</strong></p>
<p>　　生成的大量.html静态页面需要占用较多的硬盘空间。</p>
<p>　　失去了动态页面所具有交互性能。</p>
<p>　　运行稳定的动态页面是生成.html静态页面的前提。</p>
<p>　　起初，.html静态页面是通过系统频繁的访问(抓取)动态页面，得到运行结果，再而保存为.html档而来的.因此，抓取这一部分操作将是生成静态页面的核心;而如何尽可能减少抓取后的解析操作，取决于动态页面(例:Jsp页面);以何种规则保存这些.html静态页面、如何利用静态页面与用户交互等等也是避不可少的.归纳以下几点：</p>
<p>　　<strong>1、定义规则</strong></p>
<p>　　绝大部分Jsp页面作用将不再是面对用户,而是供系统调用,得到运行结果,从而保存为.html档.因此,Jsp应该根据核心代码的规则,替换所有.jsp标签及连接.由.html代替。</p>
<p>　　<strong>2、路径</strong></p>
<p>　　若.html静态页面太多,将不可避免的存放在不同的文件夹下。</p>
<p>　　在所有Jsp页面里指定以根目录开头的绝对路径,是解决办法之一。</p>
<p>　　<strong>3、交互性能</strong></p>
<p>　　静态页面不可避免的失去了交互性能,例如:无法统计信息的阅读次数,无法得到Session信息等等.但也并非没有解决的办法,思路是将整张静态页面分割成若干张小页面,小页面依旧可以是.html静态页面,也可以是.Jsp动态页面.例如,可以嵌套某一零高度零宽度的.Jsp文件专门用作统计信息的阅读次数。</p>
<p>　　<strong>4、优化</strong></p>
<p>　　若信息量比较大,.html静态页面占用硬盘容量也会随之增大.将静态页面共有的部分组织成一张新的.html页面,再令所有静态页面嵌套这样一个文件有助于降低页面体积.(注意该体积只能降低页面的文件大小,无助于提高访问效率)</p>
<p>　　<strong>5、风险</strong></p>
<p>　　风险主要集中在生成静态页面的这个过程.<a class="bluekey" href="http://product.yesky.com/net/" target="_blank">网络</a>异常可能导致返回的Jsp页面运行结果为空白、频繁读取可能导致Jsp页面未显示完整就保存为.html档等等,都是要考虑的问题。</p>
</div>
<img src ="http://www.blogjava.net/cool2009/aggbug/259961.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/cool2009/" target="_blank">龙华城</a> 2009-03-16 11:04 <a href="http://www.blogjava.net/cool2009/articles/259961.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>