春兴精工股票

老鼠哥|网络站长门户网,PHP工程师,PHP教程,PHP100,PHP源码,PHP程序员
  • 老鼠哥网络站长门户改版新上线
  • 欢迎您老鼠哥网络门户网
  • 老鼠哥网络站长门户改版新上线
  • 欢迎您老鼠哥网络门户网

JSP生成静态页面-Tomcat提高性能之王道

出处:老鼠哥站长网 作者:老鼠哥 日期:2013-02-09 18:38 浏览:次
常见的分类信息股票配资 ,需读取至少六次数据库;其他子页面,五至十几次次不等。 在使用数据库连接池的情况下,Tomcat可以支撑的并

常见的分类信息股票配资 ,需读取至少六次数据库;其他子页面,五至十几次次不等。

春兴精工股票 在使用数据库连接池的情况下,Tomcat可以支撑的并发量也十分有限。系统资源主要消耗在两方面:

春兴精工股票 1、数据库操作,频繁的从数据库返回结果;

2、Tomcat解析JAVA文件。

将动态页面按一定规则创建一匹.html纯静态页面的过程,称之为生成静态页面。

优点

春兴精工股票 无须访问数据库,节省了最大的系统消耗。

Tomcat直接返回.html静态文件,无须解析JAVA文件,最大限度的提高效率。

安全,避免了非法传递参数所导致的错误。

缺点

生成春兴精工股票的大量.html静态页面需要占用较多的硬盘空间。

春兴精工股票 失去了动态页面所具有交互性能。

运行稳定的动态页面是生成.html静态页面的前提。

起初,.html静态页面是通过系统频繁的访问(抓取)动态页面,得到运行结果,再而保存为.html档而来的.因此,抓取这一部分操作将是生成静态页面的核心;而如何尽可能减少抓取后的解析操作,取决于动态页面(例:Jsp页面);以何种规则保存这些.html静态页面、如何利用静态页面与用户交互等等也是避不可少的.归纳以下几点:

1、定义规则

绝大部分Jsp页面作用将不再是面对用户,而是供系统调用,得到运行结果,从而保存为.html档.因此,Jsp应该根据核心代码的规则,替换所有.jsp标签及连接.由.html代替。
2、路径

若.html静态页面太多,将不可避免的存放在不同的文件夹下。

春兴精工股票 在所有Jsp页面里指定以根目录开头的绝对路径,是解决办法之一。

3、交互性能

静态页面不可避免的失去了交互性能,例如:无法统计信息的阅读次数,无法得到Session信息等等.但也并非没有解决的办法,思路是将整张静态页面分割成若干张小页面,小页面依旧可以是.html静态页面,也可以是.Jsp动态页面.例如,可以嵌套某一零高度零宽度的.Jsp文件专门用作统计信息的阅读次数。

4、优化

若信息量比较大,.html静态页面占用硬盘容量也会随之增大.将静态页面共有的部分组织成一张新的.html页面,再令所有静态页面嵌套这样一个文件有助于降低页面体积.(注意该体积只能降低页面的文件大小,无助于提高访问效率)

5、风险

春兴精工股票 风险主要集中在生成静态页面的这个过程.网络异常可能导致返回的Jsp页面运行结果为空白、频繁读取可能导致Jsp页面未显示完整就保存为.html档等等,都是要考虑的问题。

为了节省系统消耗,我们经常将即将生成的页面转化为一个静态的页面,然后存放在硬盘中,以减少系统消耗。

下面举个例子:

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLConnection;
public class CreateHtml {
public static void makeHtml(){
try {
URL url = new URL("http://www.baidu.com/");
//本实事例通过读取百度页面来生成静态页面,你要是想把自己程序里面要生成的jsp页面转化成静态页面,则可以在url构造器的参数中的参数写上:如http://localhost:8081/NEW/new.do?cmd=list&sortId=2
URLConnection conn = url.openConnection();//获得连接
BufferedReader br = new BufferedReader(new InputStreamReader (conn.getInputStream()));
BufferedWriter bw = new BufferedWriter(new FileWriter("D:/baidu.html"));
String str = null;
while((str = br.readLine())!=null){
bw.write(str);
}
bw.close();
br.close();
} catch (MalformedURLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public static void main(String[] args) {
makeHtml();
}
}

春兴精工股票 这样既可以在指定的D盘生成一个静态页面,可以分门别类的存放这些静态页面,有利于降低系统消耗。

顶一下
(0)
0%
踩一下
(0)
0%
最新评论
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
验证码:点击我更换图片

春兴精工股票